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

@ -746,16 +746,8 @@ static void ncp_put_super(struct super_block *sb)
#ifdef CONFIG_NCPFS_NLS
/* unload the NLS charsets */
if (server->nls_vol)
{
unload_nls(server->nls_vol);
server->nls_vol = NULL;
}
if (server->nls_io)
{
unload_nls(server->nls_io);
server->nls_io = NULL;
}
unload_nls(server->nls_vol);
unload_nls(server->nls_io);
#endif /* CONFIG_NCPFS_NLS */
if (server->info_filp)

View file

@ -223,10 +223,8 @@ ncp_set_charsets(struct ncp_server* server, struct ncp_nls_ioctl __user *arg)
oldset_io = server->nls_io;
server->nls_io = iocharset;
if (oldset_cp)
unload_nls(oldset_cp);
if (oldset_io)
unload_nls(oldset_io);
unload_nls(oldset_cp);
unload_nls(oldset_io);
return 0;
}