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 <[email protected]>
Cc: Steve French <[email protected]>
Cc: OGAWA Hirofumi <[email protected]>
Cc: Roman Zippel <[email protected]>
Cc: Dave Kleikamp <[email protected]>
Cc: Petr Vandrovec <[email protected]>
Cc: Anton Altaparmakov <[email protected]>
Signed-off-by: Al Viro <[email protected]>
This commit is contained in:
Thomas Gleixner 2009-08-16 21:05:08 +00:00 • committed by Al Viro
commit 6d729e44a5
12 changed files with 27 additions and 69 deletions

View file

@ -46,10 +46,7 @@ static void isofs_put_super(struct super_block *sb)
#ifdef CONFIG_JOLIET
lock_kernel();
if (sbi->s_nls_iocharset) {
unload_nls(sbi->s_nls_iocharset);
sbi->s_nls_iocharset = NULL;
}
unload_nls(sbi->s_nls_iocharset);
unlock_kernel();
#endif
@ -912,8 +909,7 @@ out_no_root:
printk(KERN_WARNING "%s: get root inode failed\n", __func__);
out_no_inode:
#ifdef CONFIG_JOLIET
if (sbi->s_nls_iocharset)
unload_nls(sbi->s_nls_iocharset);
unload_nls(sbi->s_nls_iocharset);
#endif
goto out_freesbi;
out_no_read: