fs: Make unload_nls() NULL pointer safe
Most call sites of unload_nls() do: if (nls) unload_nls(nls); Check the pointer inside unload_nls() like we do in kfree() and simplify the call sites. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Steve French <sfrench@us.ibm.com> Cc: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Dave Kleikamp <shaggy@linux.vnet.ibm.com> Cc: Petr Vandrovec <vandrove@vc.cvut.cz> Cc: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -178,13 +178,11 @@ static void jfs_put_super(struct super_block *sb)
|
||||
rc = jfs_umount(sb);
|
||||
if (rc)
|
||||
jfs_err("jfs_umount failed with return code %d", rc);
|
||||
if (sbi->nls_tab)
|
||||
unload_nls(sbi->nls_tab);
|
||||
sbi->nls_tab = NULL;
|
||||
|
||||
unload_nls(sbi->nls_tab);
|
||||
|
||||
truncate_inode_pages(sbi->direct_inode->i_mapping, 0);
|
||||
iput(sbi->direct_inode);
|
||||
sbi->direct_inode = NULL;
|
||||
|
||||
kfree(sbi);
|
||||
|
||||
@@ -347,8 +345,7 @@ static int parse_options(char *options, struct super_block *sb, s64 *newLVSize,
|
||||
|
||||
if (nls_map != (void *) -1) {
|
||||
/* Discard old (if remount) */
|
||||
if (sbi->nls_tab)
|
||||
unload_nls(sbi->nls_tab);
|
||||
unload_nls(sbi->nls_tab);
|
||||
sbi->nls_tab = nls_map;
|
||||
}
|
||||
return 1;
|
||||
|
Reference in New Issue
Block a user