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:
@ -470,19 +470,11 @@ static void fat_put_super(struct super_block *sb)
|
||||
|
||||
iput(sbi->fat_inode);
|
||||
|
||||
if (sbi->nls_disk) {
|
||||
unload_nls(sbi->nls_disk);
|
||||
sbi->nls_disk = NULL;
|
||||
sbi->options.codepage = fat_default_codepage;
|
||||
}
|
||||
if (sbi->nls_io) {
|
||||
unload_nls(sbi->nls_io);
|
||||
sbi->nls_io = NULL;
|
||||
}
|
||||
if (sbi->options.iocharset != fat_default_iocharset) {
|
||||
unload_nls(sbi->nls_disk);
|
||||
unload_nls(sbi->nls_io);
|
||||
|
||||
if (sbi->options.iocharset != fat_default_iocharset)
|
||||
kfree(sbi->options.iocharset);
|
||||
sbi->options.iocharset = fat_default_iocharset;
|
||||
}
|
||||
|
||||
sb->s_fs_info = NULL;
|
||||
kfree(sbi);
|
||||
|
Reference in New Issue
Block a user