> +++ b/drivers/staging/exfat/exfat_core.c > @@ -0,0 +1,3704 @@ … > +static s32 __load_upcase_table(struct super_block *sb, sector_t sector, > + u32 num_sectors, u32 utbl_checksum) > +{ … > +error: An other label would be nicer, wouldn't it? > + if (tmp_bh) > + brelse(tmp_bh); This inline function tolerates the passing of null pointers. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/buffer_head.h?id=9cf6b756cdf2cd38b8b0dac2567f7c6daf5e79d5#n292 https://elixir.bootlin.com/linux/v5.3-rc6/source/include/linux/buffer_head.h#L292 Thus I suggest to omit the extra pointer check at affected places. > +++ b/drivers/staging/exfat/exfat_super.c > @@ -0,0 +1,4137 @@ … > +// FIXME use commented lines > +// static int exfat_default_codepage = CONFIG_EXFAT_DEFAULT_CODEPAGE; Is such information still relevant anyhow? > +static int exfat_fill_super(struct super_block *sb, void *data, int silent) > +{ … > +out_fail: > + if (root_inode) > + iput(root_inode); I am informed in the way that this function tolerates the passing of null pointers. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/fs/inode.c?id=9cf6b756cdf2cd38b8b0dac2567f7c6daf5e79d5#n1564 https://elixir.bootlin.com/linux/v5.3-rc6/source/fs/inode.c#L1564 Thus I suggest to omit the extra pointer check also at this place. Regards, Markus