diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-08-16 23:05:08 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-09-24 13:47:42 +0200 |
commit | 6d729e44a55547c009d7a87ea66bff21a8e0afea (patch) | |
tree | c27e69babb9b397ad56cb20a935b75c35ceb364f /fs/ntfs/super.c | |
parent | freeze_bdev: grab active reference to frozen superblocks (diff) | |
download | linux-6d729e44a55547c009d7a87ea66bff21a8e0afea.tar.xz linux-6d729e44a55547c009d7a87ea66bff21a8e0afea.zip |
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>
Diffstat (limited to 'fs/ntfs/super.c')
-rw-r--r-- | fs/ntfs/super.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c index abaaa1cbf8de..80b04770e8e9 100644 --- a/fs/ntfs/super.c +++ b/fs/ntfs/super.c @@ -201,8 +201,7 @@ use_utf8: v, old_nls->charset); nls_map = old_nls; } else /* nls_map */ { - if (old_nls) - unload_nls(old_nls); + unload_nls(old_nls); } } else if (!strcmp(p, "utf8")) { bool val = false; @@ -2427,10 +2426,9 @@ static void ntfs_put_super(struct super_block *sb) ntfs_free(vol->upcase); vol->upcase = NULL; } - if (vol->nls_map) { - unload_nls(vol->nls_map); - vol->nls_map = NULL; - } + + unload_nls(vol->nls_map); + sb->s_fs_info = NULL; kfree(vol); |