[PATCH] kfree cleanup: fs
This is the fs/ part of the big kfree cleanup patch. Remove pointless checks for NULL prior to calling kfree() in fs/. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
6044ec8882
commit
f99d49adf5
39 changed files with 137 additions and 245 deletions
|
@ -269,8 +269,7 @@ static void v9fs_sock_close(struct v9fs_transport *trans)
|
|||
dprintk(DEBUG_TRANS, "socket closed\n");
|
||||
}
|
||||
|
||||
if (ts)
|
||||
kfree(ts);
|
||||
kfree(ts);
|
||||
|
||||
trans->priv = NULL;
|
||||
}
|
||||
|
|
|
@ -35,8 +35,7 @@ affs_put_super(struct super_block *sb)
|
|||
mark_buffer_dirty(sbi->s_root_bh);
|
||||
}
|
||||
|
||||
if (sbi->s_prefix)
|
||||
kfree(sbi->s_prefix);
|
||||
kfree(sbi->s_prefix);
|
||||
affs_free_bitmap(sb);
|
||||
affs_brelse(sbi->s_root_bh);
|
||||
kfree(sbi);
|
||||
|
@ -198,10 +197,9 @@ parse_options(char *options, uid_t *uid, gid_t *gid, int *mode, int *reserved, s
|
|||
*mount_opts |= SF_MUFS;
|
||||
break;
|
||||
case Opt_prefix:
|
||||
if (*prefix) { /* Free any previous prefix */
|
||||
kfree(*prefix);
|
||||
*prefix = NULL;
|
||||
}
|
||||
/* Free any previous prefix */
|
||||
kfree(*prefix);
|
||||
*prefix = NULL;
|
||||
*prefix = match_strdup(&args[0]);
|
||||
if (!*prefix)
|
||||
return 0;
|
||||
|
@ -462,11 +460,9 @@ static int affs_fill_super(struct super_block *sb, void *data, int silent)
|
|||
out_error:
|
||||
if (root_inode)
|
||||
iput(root_inode);
|
||||
if (sbi->s_bitmap)
|
||||
kfree(sbi->s_bitmap);
|
||||
kfree(sbi->s_bitmap);
|
||||
affs_brelse(root_bh);
|
||||
if (sbi->s_prefix)
|
||||
kfree(sbi->s_prefix);
|
||||
kfree(sbi->s_prefix);
|
||||
kfree(sbi);
|
||||
sb->s_fs_info = NULL;
|
||||
return -EINVAL;
|
||||
|
|
|
@ -265,8 +265,7 @@ static int afs_file_releasepage(struct page *page, gfp_t gfp_flags)
|
|||
set_page_private(page, 0);
|
||||
ClearPagePrivate(page);
|
||||
|
||||
if (pageio)
|
||||
kfree(pageio);
|
||||
kfree(pageio);
|
||||
}
|
||||
|
||||
_leave(" = 0");
|
||||
|
|
|
@ -150,10 +150,8 @@ int autofs_wait(struct autofs_sb_info *sbi, struct qstr *name)
|
|||
if ( sbi->catatonic ) {
|
||||
/* We might have slept, so check again for catatonic mode */
|
||||
wq->status = -ENOENT;
|
||||
if ( wq->name ) {
|
||||
kfree(wq->name);
|
||||
wq->name = NULL;
|
||||
}
|
||||
kfree(wq->name);
|
||||
wq->name = NULL;
|
||||
}
|
||||
|
||||
if ( wq->name ) {
|
||||
|
|
|
@ -22,10 +22,8 @@
|
|||
|
||||
static void ino_lnkfree(struct autofs_info *ino)
|
||||
{
|
||||
if (ino->u.symlink) {
|
||||
kfree(ino->u.symlink);
|
||||
ino->u.symlink = NULL;
|
||||
}
|
||||
kfree(ino->u.symlink);
|
||||
ino->u.symlink = NULL;
|
||||
}
|
||||
|
||||
struct autofs_info *autofs4_init_ino(struct autofs_info *ino,
|
||||
|
|
|
@ -243,10 +243,8 @@ int autofs4_wait(struct autofs_sb_info *sbi, struct dentry *dentry,
|
|||
if ( sbi->catatonic ) {
|
||||
/* We might have slept, so check again for catatonic mode */
|
||||
wq->status = -ENOENT;
|
||||
if ( wq->name ) {
|
||||
kfree(wq->name);
|
||||
wq->name = NULL;
|
||||
}
|
||||
kfree(wq->name);
|
||||
wq->name = NULL;
|
||||
}
|
||||
|
||||
if ( wq->name ) {
|
||||
|
|
|
@ -725,20 +725,16 @@ parse_options(char *options, befs_mount_options * opts)
|
|||
static void
|
||||
befs_put_super(struct super_block *sb)
|
||||
{
|
||||
if (BEFS_SB(sb)->mount_opts.iocharset) {
|
||||
kfree(BEFS_SB(sb)->mount_opts.iocharset);
|
||||
BEFS_SB(sb)->mount_opts.iocharset = NULL;
|
||||
}
|
||||
kfree(BEFS_SB(sb)->mount_opts.iocharset);
|
||||
BEFS_SB(sb)->mount_opts.iocharset = NULL;
|
||||
|
||||
if (BEFS_SB(sb)->nls) {
|
||||
unload_nls(BEFS_SB(sb)->nls);
|
||||
BEFS_SB(sb)->nls = NULL;
|
||||
}
|
||||
|
||||
if (sb->s_fs_info) {
|
||||
kfree(sb->s_fs_info);
|
||||
sb->s_fs_info = NULL;
|
||||
}
|
||||
kfree(sb->s_fs_info);
|
||||
sb->s_fs_info = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1006,8 +1006,7 @@ static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs)
|
|||
if (interpreter)
|
||||
fput(interpreter);
|
||||
out_free_interp:
|
||||
if (elf_interpreter)
|
||||
kfree(elf_interpreter);
|
||||
kfree(elf_interpreter);
|
||||
out_free_file:
|
||||
sys_close(elf_exec_fileno);
|
||||
out_free_fh:
|
||||
|
|
|
@ -411,16 +411,11 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm, struct pt_regs *regs
|
|||
allow_write_access(interpreter);
|
||||
fput(interpreter);
|
||||
}
|
||||
if (interpreter_name)
|
||||
kfree(interpreter_name);
|
||||
if (exec_params.phdrs)
|
||||
kfree(exec_params.phdrs);
|
||||
if (exec_params.loadmap)
|
||||
kfree(exec_params.loadmap);
|
||||
if (interp_params.phdrs)
|
||||
kfree(interp_params.phdrs);
|
||||
if (interp_params.loadmap)
|
||||
kfree(interp_params.loadmap);
|
||||
kfree(interpreter_name);
|
||||
kfree(exec_params.phdrs);
|
||||
kfree(exec_params.loadmap);
|
||||
kfree(interp_params.phdrs);
|
||||
kfree(interp_params.loadmap);
|
||||
return retval;
|
||||
|
||||
/* unrecoverable error - kill the process */
|
||||
|
|
|
@ -553,8 +553,7 @@ decode_negTokenInit(unsigned char *security_blob, int length,
|
|||
*(oid + 3)));
|
||||
rc = compare_oid(oid, oidlen, NTLMSSP_OID,
|
||||
NTLMSSP_OID_LEN);
|
||||
if(oid)
|
||||
kfree(oid);
|
||||
kfree(oid);
|
||||
if (rc)
|
||||
use_ntlmssp = TRUE;
|
||||
}
|
||||
|
|
|
@ -1265,8 +1265,7 @@ connect_to_dfs_path(int xid, struct cifsSesInfo *pSesInfo,
|
|||
the helper that resolves tcp names, mount to it, try to
|
||||
tcon to it unmount it if fail */
|
||||
|
||||
if(referrals)
|
||||
kfree(referrals);
|
||||
kfree(referrals);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
@ -1535,10 +1534,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
|
||||
memset(&volume_info,0,sizeof(struct smb_vol));
|
||||
if (cifs_parse_mount_options(mount_data, devname, &volume_info)) {
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -1551,10 +1548,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
cifserror("No username specified ");
|
||||
/* In userspace mount helper we can get user name from alternate
|
||||
locations such as env variables and files on disk */
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -1573,10 +1568,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
|
||||
if(rc <= 0) {
|
||||
/* we failed translating address */
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -1587,19 +1580,15 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
} else if (volume_info.UNCip){
|
||||
/* BB using ip addr as server name connect to the DFS root below */
|
||||
cERROR(1,("Connecting to DFS root not implemented yet"));
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return -EINVAL;
|
||||
} else /* which servers DFS root would we conect to */ {
|
||||
cERROR(1,
|
||||
("CIFS mount error: No UNC path (e.g. -o unc=//192.168.1.100/public) specified "));
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -1612,10 +1601,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
cifs_sb->local_nls = load_nls(volume_info.iocharset);
|
||||
if(cifs_sb->local_nls == NULL) {
|
||||
cERROR(1,("CIFS mount error: iocharset %s not found",volume_info.iocharset));
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return -ELIBACC;
|
||||
}
|
||||
|
@ -1630,10 +1617,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
&sin_server6.sin6_addr,
|
||||
volume_info.username, &srvTcp);
|
||||
else {
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
@ -1654,10 +1639,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
("Error connecting to IPv4 socket. Aborting operation"));
|
||||
if(csocket != NULL)
|
||||
sock_release(csocket);
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return rc;
|
||||
}
|
||||
|
@ -1666,10 +1649,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
if (srvTcp == NULL) {
|
||||
rc = -ENOMEM;
|
||||
sock_release(csocket);
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return rc;
|
||||
} else {
|
||||
|
@ -1692,10 +1673,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
if(rc < 0) {
|
||||
rc = -ENOMEM;
|
||||
sock_release(csocket);
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.password);
|
||||
FreeXid(xid);
|
||||
return rc;
|
||||
}
|
||||
|
@ -1710,8 +1689,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
if (existingCifsSes) {
|
||||
pSesInfo = existingCifsSes;
|
||||
cFYI(1, ("Existing smb sess found "));
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.password);
|
||||
/* volume_info.UNC freed at end of function */
|
||||
} else if (!rc) {
|
||||
cFYI(1, ("Existing smb sess not found "));
|
||||
|
@ -1741,8 +1719,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
if(!rc)
|
||||
atomic_inc(&srvTcp->socketUseCount);
|
||||
} else
|
||||
if(volume_info.password)
|
||||
kfree(volume_info.password);
|
||||
kfree(volume_info.password);
|
||||
}
|
||||
|
||||
/* search for existing tcon to this server share */
|
||||
|
@ -1821,8 +1798,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
"", cifs_sb->local_nls,
|
||||
cifs_sb->mnt_cifs_flags &
|
||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.UNC);
|
||||
FreeXid(xid);
|
||||
return -ENODEV;
|
||||
} else {
|
||||
|
@ -1925,8 +1901,7 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
|
|||
(in which case it is not needed anymore) but when new sesion is created
|
||||
the password ptr is put in the new session structure (in which case the
|
||||
password will be freed at unmount time) */
|
||||
if(volume_info.UNC)
|
||||
kfree(volume_info.UNC);
|
||||
kfree(volume_info.UNC);
|
||||
FreeXid(xid);
|
||||
return rc;
|
||||
}
|
||||
|
@ -3283,8 +3258,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
|
|||
if ((bcc_ptr + (2 * length)) -
|
||||
pByteArea(smb_buffer_response) <=
|
||||
BCC(smb_buffer_response)) {
|
||||
if(tcon->nativeFileSystem)
|
||||
kfree(tcon->nativeFileSystem);
|
||||
kfree(tcon->nativeFileSystem);
|
||||
tcon->nativeFileSystem =
|
||||
kzalloc(length + 2, GFP_KERNEL);
|
||||
cifs_strfromUCS_le(tcon->nativeFileSystem,
|
||||
|
@ -3301,8 +3275,7 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
|
|||
if ((bcc_ptr + length) -
|
||||
pByteArea(smb_buffer_response) <=
|
||||
BCC(smb_buffer_response)) {
|
||||
if(tcon->nativeFileSystem)
|
||||
kfree(tcon->nativeFileSystem);
|
||||
kfree(tcon->nativeFileSystem);
|
||||
tcon->nativeFileSystem =
|
||||
kzalloc(length + 1, GFP_KERNEL);
|
||||
strncpy(tcon->nativeFileSystem, bcc_ptr,
|
||||
|
|
|
@ -84,10 +84,8 @@ cifs_hardlink(struct dentry *old_file, struct inode *inode,
|
|||
cifsInode->time = 0; /* will force revalidate to go get info when needed */
|
||||
|
||||
cifs_hl_exit:
|
||||
if (fromName)
|
||||
kfree(fromName);
|
||||
if (toName)
|
||||
kfree(toName);
|
||||
kfree(fromName);
|
||||
kfree(toName);
|
||||
FreeXid(xid);
|
||||
return rc;
|
||||
}
|
||||
|
@ -206,8 +204,7 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname)
|
|||
}
|
||||
}
|
||||
|
||||
if (full_path)
|
||||
kfree(full_path);
|
||||
kfree(full_path);
|
||||
FreeXid(xid);
|
||||
return rc;
|
||||
}
|
||||
|
@ -253,8 +250,7 @@ cifs_readlink(struct dentry *direntry, char __user *pBuffer, int buflen)
|
|||
len = buflen;
|
||||
tmpbuffer = kmalloc(len,GFP_KERNEL);
|
||||
if(tmpbuffer == NULL) {
|
||||
if (full_path)
|
||||
kfree(full_path);
|
||||
kfree(full_path);
|
||||
FreeXid(xid);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
@ -303,8 +299,7 @@ cifs_readlink(struct dentry *direntry, char __user *pBuffer, int buflen)
|
|||
strncpy(tmpbuffer, referrals, len-1);
|
||||
}
|
||||
}
|
||||
if(referrals)
|
||||
kfree(referrals);
|
||||
kfree(referrals);
|
||||
kfree(tmp_path);
|
||||
}
|
||||
/* BB add code like else decode referrals then memcpy to
|
||||
|
@ -323,12 +318,8 @@ cifs_readlink(struct dentry *direntry, char __user *pBuffer, int buflen)
|
|||
rc));
|
||||
}
|
||||
|
||||
if (tmpbuffer) {
|
||||
kfree(tmpbuffer);
|
||||
}
|
||||
if (full_path) {
|
||||
kfree(full_path);
|
||||
}
|
||||
kfree(tmpbuffer);
|
||||
kfree(full_path);
|
||||
FreeXid(xid);
|
||||
return rc;
|
||||
}
|
||||
|
|
|
@ -98,14 +98,10 @@ sesInfoFree(struct cifsSesInfo *buf_to_free)
|
|||
atomic_dec(&sesInfoAllocCount);
|
||||
list_del(&buf_to_free->cifsSessionList);
|
||||
write_unlock(&GlobalSMBSeslock);
|
||||
if (buf_to_free->serverOS)
|
||||
kfree(buf_to_free->serverOS);
|
||||
if (buf_to_free->serverDomain)
|
||||
kfree(buf_to_free->serverDomain);
|
||||
if (buf_to_free->serverNOS)
|
||||
kfree(buf_to_free->serverNOS);
|
||||
if (buf_to_free->password)
|
||||
kfree(buf_to_free->password);
|
||||
kfree(buf_to_free->serverOS);
|
||||
kfree(buf_to_free->serverDomain);
|
||||
kfree(buf_to_free->serverNOS);
|
||||
kfree(buf_to_free->password);
|
||||
kfree(buf_to_free);
|
||||
}
|
||||
|
||||
|
@ -144,8 +140,7 @@ tconInfoFree(struct cifsTconInfo *buf_to_free)
|
|||
atomic_dec(&tconInfoAllocCount);
|
||||
list_del(&buf_to_free->cifsConnectionList);
|
||||
write_unlock(&GlobalSMBSeslock);
|
||||
if (buf_to_free->nativeFileSystem)
|
||||
kfree(buf_to_free->nativeFileSystem);
|
||||
kfree(buf_to_free->nativeFileSystem);
|
||||
kfree(buf_to_free);
|
||||
}
|
||||
|
||||
|
|
|
@ -87,8 +87,7 @@ int cifs_removexattr(struct dentry * direntry, const char * ea_name)
|
|||
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
}
|
||||
remove_ea_exit:
|
||||
if (full_path)
|
||||
kfree(full_path);
|
||||
kfree(full_path);
|
||||
FreeXid(xid);
|
||||
#endif
|
||||
return rc;
|
||||
|
@ -132,8 +131,7 @@ int cifs_setxattr(struct dentry * direntry, const char * ea_name,
|
|||
returns as xattrs */
|
||||
if(value_size > MAX_EA_VALUE_SIZE) {
|
||||
cFYI(1,("size of EA value too large"));
|
||||
if(full_path)
|
||||
kfree(full_path);
|
||||
kfree(full_path);
|
||||
FreeXid(xid);
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
@ -195,8 +193,7 @@ int cifs_setxattr(struct dentry * direntry, const char * ea_name,
|
|||
}
|
||||
|
||||
set_ea_exit:
|
||||
if (full_path)
|
||||
kfree(full_path);
|
||||
kfree(full_path);
|
||||
FreeXid(xid);
|
||||
#endif
|
||||
return rc;
|
||||
|
@ -298,8 +295,7 @@ ssize_t cifs_getxattr(struct dentry * direntry, const char * ea_name,
|
|||
rc = -EOPNOTSUPP;
|
||||
|
||||
get_ea_exit:
|
||||
if (full_path)
|
||||
kfree(full_path);
|
||||
kfree(full_path);
|
||||
FreeXid(xid);
|
||||
#endif
|
||||
return rc;
|
||||
|
@ -345,8 +341,7 @@ ssize_t cifs_listxattr(struct dentry * direntry, char * data, size_t buf_size)
|
|||
cifs_sb->mnt_cifs_flags &
|
||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
|
||||
if (full_path)
|
||||
kfree(full_path);
|
||||
kfree(full_path);
|
||||
FreeXid(xid);
|
||||
#endif
|
||||
return rc;
|
||||
|
|
|
@ -2235,7 +2235,8 @@ static int fd_ioctl_trans(unsigned int fd, unsigned int cmd, unsigned long arg)
|
|||
if (err)
|
||||
err = -EFAULT;
|
||||
|
||||
out: if (karg) kfree(karg);
|
||||
out:
|
||||
kfree(karg);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -2738,10 +2738,8 @@ static int devfsd_close(struct inode *inode, struct file *file)
|
|||
entry = fs_info->devfsd_first_event;
|
||||
fs_info->devfsd_first_event = NULL;
|
||||
fs_info->devfsd_last_event = NULL;
|
||||
if (fs_info->devfsd_info) {
|
||||
kfree(fs_info->devfsd_info);
|
||||
fs_info->devfsd_info = NULL;
|
||||
}
|
||||
kfree(fs_info->devfsd_info);
|
||||
fs_info->devfsd_info = NULL;
|
||||
spin_unlock(&fs_info->devfsd_buffer_lock);
|
||||
fs_info->devfsd_pgrp = 0;
|
||||
fs_info->devfsd_task = NULL;
|
||||
|
|
|
@ -194,8 +194,7 @@ ext2_get_acl(struct inode *inode, int type)
|
|||
acl = NULL;
|
||||
else
|
||||
acl = ERR_PTR(retval);
|
||||
if (value)
|
||||
kfree(value);
|
||||
kfree(value);
|
||||
|
||||
if (!IS_ERR(acl)) {
|
||||
switch(type) {
|
||||
|
@ -262,8 +261,7 @@ ext2_set_acl(struct inode *inode, int type, struct posix_acl *acl)
|
|||
|
||||
error = ext2_xattr_set(inode, name_index, "", value, size, 0);
|
||||
|
||||
if (value)
|
||||
kfree(value);
|
||||
kfree(value);
|
||||
if (!error) {
|
||||
switch(type) {
|
||||
case ACL_TYPE_ACCESS:
|
||||
|
|
|
@ -294,8 +294,7 @@ static void hostfs_delete_inode(struct inode *inode)
|
|||
|
||||
static void hostfs_destroy_inode(struct inode *inode)
|
||||
{
|
||||
if(HOSTFS_I(inode)->host_filename)
|
||||
kfree(HOSTFS_I(inode)->host_filename);
|
||||
kfree(HOSTFS_I(inode)->host_filename);
|
||||
|
||||
/*XXX: This should not happen, probably. The check is here for
|
||||
* additional safety.*/
|
||||
|
|
|
@ -244,12 +244,12 @@ static int hpfs_add_to_dnode(struct inode *i, dnode_secno dno,
|
|||
go_up:
|
||||
if (namelen >= 256) {
|
||||
hpfs_error(i->i_sb, "hpfs_add_to_dnode: namelen == %d", namelen);
|
||||
if (nd) kfree(nd);
|
||||
kfree(nd);
|
||||
kfree(nname);
|
||||
return 1;
|
||||
}
|
||||
if (!(d = hpfs_map_dnode(i->i_sb, dno, &qbh))) {
|
||||
if (nd) kfree(nd);
|
||||
kfree(nd);
|
||||
kfree(nname);
|
||||
return 1;
|
||||
}
|
||||
|
@ -257,7 +257,7 @@ static int hpfs_add_to_dnode(struct inode *i, dnode_secno dno,
|
|||
if (hpfs_sb(i->i_sb)->sb_chk)
|
||||
if (hpfs_stop_cycles(i->i_sb, dno, &c1, &c2, "hpfs_add_to_dnode")) {
|
||||
hpfs_brelse4(&qbh);
|
||||
if (nd) kfree(nd);
|
||||
kfree(nd);
|
||||
kfree(nname);
|
||||
return 1;
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ static int hpfs_add_to_dnode(struct inode *i, dnode_secno dno,
|
|||
for_all_poss(i, hpfs_pos_subst, 5, t + 1);
|
||||
hpfs_mark_4buffers_dirty(&qbh);
|
||||
hpfs_brelse4(&qbh);
|
||||
if (nd) kfree(nd);
|
||||
kfree(nd);
|
||||
kfree(nname);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -75,7 +75,7 @@ void hpfs_error(struct super_block *s, char *m,...)
|
|||
} else if (s->s_flags & MS_RDONLY) printk("; going on - but anything won't be destroyed because it's read-only\n");
|
||||
else printk("; corrupted filesystem mounted read/write - your computer will explode within 20 seconds ... but you wanted it so!\n");
|
||||
} else printk("\n");
|
||||
if (buf) kfree(buf);
|
||||
kfree(buf);
|
||||
hpfs_sb(s)->sb_was_error = 1;
|
||||
}
|
||||
|
||||
|
@ -102,8 +102,8 @@ int hpfs_stop_cycles(struct super_block *s, int key, int *c1, int *c2,
|
|||
static void hpfs_put_super(struct super_block *s)
|
||||
{
|
||||
struct hpfs_sb_info *sbi = hpfs_sb(s);
|
||||
if (sbi->sb_cp_table) kfree(sbi->sb_cp_table);
|
||||
if (sbi->sb_bmp_dir) kfree(sbi->sb_bmp_dir);
|
||||
kfree(sbi->sb_cp_table);
|
||||
kfree(sbi->sb_bmp_dir);
|
||||
unmark_dirty(s);
|
||||
s->s_fs_info = NULL;
|
||||
kfree(sbi);
|
||||
|
@ -654,8 +654,8 @@ bail3: brelse(bh1);
|
|||
bail2: brelse(bh0);
|
||||
bail1:
|
||||
bail0:
|
||||
if (sbi->sb_bmp_dir) kfree(sbi->sb_bmp_dir);
|
||||
if (sbi->sb_cp_table) kfree(sbi->sb_cp_table);
|
||||
kfree(sbi->sb_bmp_dir);
|
||||
kfree(sbi->sb_cp_table);
|
||||
s->s_fs_info = NULL;
|
||||
kfree(sbi);
|
||||
return -EINVAL;
|
||||
|
|
|
@ -855,8 +855,7 @@ static int isofs_fill_super(struct super_block *s, void *data, int silent)
|
|||
if (opt.check == 'r') table++;
|
||||
s->s_root->d_op = &isofs_dentry_ops[table];
|
||||
|
||||
if (opt.iocharset)
|
||||
kfree(opt.iocharset);
|
||||
kfree(opt.iocharset);
|
||||
|
||||
return 0;
|
||||
|
||||
|
@ -895,8 +894,7 @@ static int isofs_fill_super(struct super_block *s, void *data, int silent)
|
|||
out_freebh:
|
||||
brelse(bh);
|
||||
out_freesbi:
|
||||
if (opt.iocharset)
|
||||
kfree(opt.iocharset);
|
||||
kfree(opt.iocharset);
|
||||
kfree(sbi);
|
||||
s->s_fs_info = NULL;
|
||||
return -EINVAL;
|
||||
|
@ -1164,8 +1162,7 @@ static int isofs_read_level3_size(struct inode *inode)
|
|||
|
||||
out_noread:
|
||||
printk(KERN_INFO "ISOFS: unable to read i-node block %lu\n", block);
|
||||
if (tmpde)
|
||||
kfree(tmpde);
|
||||
kfree(tmpde);
|
||||
return -EIO;
|
||||
|
||||
out_toomany:
|
||||
|
@ -1334,8 +1331,7 @@ static void isofs_read_inode(struct inode *inode)
|
|||
init_special_inode(inode, inode->i_mode, inode->i_rdev);
|
||||
|
||||
out:
|
||||
if (tmpde)
|
||||
kfree(tmpde);
|
||||
kfree(tmpde);
|
||||
if (bh)
|
||||
brelse(bh);
|
||||
return;
|
||||
|
|
|
@ -261,10 +261,8 @@ void journal_commit_transaction(journal_t *journal)
|
|||
struct buffer_head *bh = jh2bh(jh);
|
||||
|
||||
jbd_lock_bh_state(bh);
|
||||
if (jh->b_committed_data) {
|
||||
kfree(jh->b_committed_data);
|
||||
jh->b_committed_data = NULL;
|
||||
}
|
||||
kfree(jh->b_committed_data);
|
||||
jh->b_committed_data = NULL;
|
||||
jbd_unlock_bh_state(bh);
|
||||
}
|
||||
journal_refile_buffer(journal, jh);
|
||||
|
|
|
@ -227,8 +227,7 @@ static int start_this_handle(journal_t *journal, handle_t *handle)
|
|||
spin_unlock(&transaction->t_handle_lock);
|
||||
spin_unlock(&journal->j_state_lock);
|
||||
out:
|
||||
if (new_transaction)
|
||||
kfree(new_transaction);
|
||||
kfree(new_transaction);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -725,8 +724,7 @@ do_get_write_access(handle_t *handle, struct journal_head *jh,
|
|||
journal_cancel_revoke(handle, jh);
|
||||
|
||||
out:
|
||||
if (frozen_buffer)
|
||||
kfree(frozen_buffer);
|
||||
kfree(frozen_buffer);
|
||||
|
||||
JBUFFER_TRACE(jh, "exit");
|
||||
return error;
|
||||
|
@ -905,8 +903,7 @@ int journal_get_undo_access(handle_t *handle, struct buffer_head *bh)
|
|||
jbd_unlock_bh_state(bh);
|
||||
out:
|
||||
journal_put_journal_head(jh);
|
||||
if (committed_data)
|
||||
kfree(committed_data);
|
||||
kfree(committed_data);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -462,7 +462,7 @@ jffs_checksum_flash(struct mtd_info *mtd, loff_t start, int size, __u32 *result)
|
|||
}
|
||||
|
||||
/* Free read buffer */
|
||||
kfree (read_buf);
|
||||
kfree(read_buf);
|
||||
|
||||
/* Return result */
|
||||
D3(printk("checksum result: 0x%08x\n", sum));
|
||||
|
@ -1011,12 +1011,12 @@ jffs_scan_flash(struct jffs_control *c)
|
|||
offset , fmc->sector_size);
|
||||
|
||||
flash_safe_release(fmc->mtd);
|
||||
kfree (read_buf);
|
||||
kfree(read_buf);
|
||||
return -1; /* bad, bad, bad! */
|
||||
|
||||
}
|
||||
flash_safe_release(fmc->mtd);
|
||||
kfree (read_buf);
|
||||
kfree(read_buf);
|
||||
|
||||
return -EAGAIN; /* erased offending sector. Try mount one more time please. */
|
||||
}
|
||||
|
@ -1112,7 +1112,7 @@ jffs_scan_flash(struct jffs_control *c)
|
|||
if (!node) {
|
||||
if (!(node = jffs_alloc_node())) {
|
||||
/* Free read buffer */
|
||||
kfree (read_buf);
|
||||
kfree(read_buf);
|
||||
|
||||
/* Release the flash device */
|
||||
flash_safe_release(fmc->mtd);
|
||||
|
@ -1269,7 +1269,7 @@ jffs_scan_flash(struct jffs_control *c)
|
|||
DJM(no_jffs_node--);
|
||||
|
||||
/* Free read buffer */
|
||||
kfree (read_buf);
|
||||
kfree(read_buf);
|
||||
|
||||
/* Release the flash device */
|
||||
flash_safe_release(fmc->mtd);
|
||||
|
@ -1296,7 +1296,7 @@ jffs_scan_flash(struct jffs_control *c)
|
|||
flash_safe_release(fmc->flash_part);
|
||||
|
||||
/* Free read buffer */
|
||||
kfree (read_buf);
|
||||
kfree(read_buf);
|
||||
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
@ -1324,7 +1324,7 @@ jffs_scan_flash(struct jffs_control *c)
|
|||
jffs_build_end(fmc);
|
||||
|
||||
/* Free read buffer */
|
||||
kfree (read_buf);
|
||||
kfree(read_buf);
|
||||
|
||||
if(!num_free_space){
|
||||
printk(KERN_WARNING "jffs_scan_flash(): Did not find even a single "
|
||||
|
@ -1747,9 +1747,7 @@ jffs_find_child(struct jffs_file *dir, const char *name, int len)
|
|||
}
|
||||
printk("jffs_find_child(): Didn't find the file \"%s\".\n",
|
||||
(copy ? copy : ""));
|
||||
if (copy) {
|
||||
kfree(copy);
|
||||
}
|
||||
kfree(copy);
|
||||
});
|
||||
|
||||
return f;
|
||||
|
|
|
@ -490,7 +490,7 @@ int jffs2_do_crccheck_inode(struct jffs2_sb_info *c, struct jffs2_inode_cache *i
|
|||
up(&f->sem);
|
||||
jffs2_do_clear_inode(c, f);
|
||||
}
|
||||
kfree (f);
|
||||
kfree(f);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -742,10 +742,8 @@ void jffs2_do_clear_inode(struct jffs2_sb_info *c, struct jffs2_inode_info *f)
|
|||
|
||||
/* For symlink inodes we us f->dents to store the target path name */
|
||||
if (S_ISLNK(OFNI_EDONI_2SFFJ(f)->i_mode)) {
|
||||
if (f->dents) {
|
||||
kfree(f->dents);
|
||||
f->dents = NULL;
|
||||
}
|
||||
kfree(f->dents);
|
||||
f->dents = NULL;
|
||||
} else {
|
||||
fds = f->dents;
|
||||
|
||||
|
|
|
@ -327,8 +327,7 @@ static void jffs2_wbuf_recover(struct jffs2_sb_info *c)
|
|||
c->wbuf_ofs = ofs + towrite;
|
||||
memmove(c->wbuf, rewrite_buf + towrite, c->wbuf_len);
|
||||
/* Don't muck about with c->wbuf_inodes. False positives are harmless. */
|
||||
if (buf)
|
||||
kfree(buf);
|
||||
kfree(buf);
|
||||
} else {
|
||||
/* OK, now we're left with the dregs in whichever buffer we're using */
|
||||
if (buf) {
|
||||
|
|
|
@ -112,8 +112,7 @@ static struct nlm_lockowner *nlm_find_lockowner(struct nlm_host *host, fl_owner_
|
|||
}
|
||||
}
|
||||
spin_unlock(&host->h_lock);
|
||||
if (new != NULL)
|
||||
kfree(new);
|
||||
kfree(new);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
|
|
@ -301,8 +301,7 @@ mb_cache_create(const char *name, struct mb_cache_op *cache_op,
|
|||
if (cache) {
|
||||
while (--m >= 0)
|
||||
kfree(cache->c_indexes_hash[m]);
|
||||
if (cache->c_block_hash)
|
||||
kfree(cache->c_block_hash);
|
||||
kfree(cache->c_block_hash);
|
||||
kfree(cache);
|
||||
}
|
||||
return NULL;
|
||||
|
|
|
@ -149,8 +149,7 @@ int nfs_inode_set_delegation(struct inode *inode, struct rpc_cred *cred, struct
|
|||
}
|
||||
}
|
||||
spin_unlock(&clp->cl_lock);
|
||||
if (delegation != NULL)
|
||||
kfree(delegation);
|
||||
kfree(delegation);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
|
@ -1688,8 +1688,7 @@ static void nfs_kill_super(struct super_block *s)
|
|||
|
||||
rpciod_down(); /* release rpciod */
|
||||
|
||||
if (server->hostname != NULL)
|
||||
kfree(server->hostname);
|
||||
kfree(server->hostname);
|
||||
kfree(server);
|
||||
}
|
||||
|
||||
|
@ -1908,8 +1907,7 @@ nfs_copy_user_string(char *dst, struct nfs_string *src, int maxlen)
|
|||
return ERR_PTR(-ENOMEM);
|
||||
}
|
||||
if (copy_from_user(dst, src->data, maxlen)) {
|
||||
if (p != NULL)
|
||||
kfree(p);
|
||||
kfree(p);
|
||||
return ERR_PTR(-EFAULT);
|
||||
}
|
||||
dst[maxlen] = '\0';
|
||||
|
@ -2000,10 +1998,8 @@ static struct super_block *nfs4_get_sb(struct file_system_type *fs_type,
|
|||
out_err:
|
||||
s = (struct super_block *)p;
|
||||
out_free:
|
||||
if (server->mnt_path)
|
||||
kfree(server->mnt_path);
|
||||
if (server->hostname)
|
||||
kfree(server->hostname);
|
||||
kfree(server->mnt_path);
|
||||
kfree(server->hostname);
|
||||
kfree(server);
|
||||
return s;
|
||||
}
|
||||
|
@ -2023,8 +2019,7 @@ static void nfs4_kill_super(struct super_block *sb)
|
|||
|
||||
destroy_nfsv4_state(server);
|
||||
|
||||
if (server->hostname != NULL)
|
||||
kfree(server->hostname);
|
||||
kfree(server->hostname);
|
||||
kfree(server);
|
||||
}
|
||||
|
||||
|
|
|
@ -69,10 +69,8 @@ init_nfsv4_state(struct nfs_server *server)
|
|||
void
|
||||
destroy_nfsv4_state(struct nfs_server *server)
|
||||
{
|
||||
if (server->mnt_path) {
|
||||
kfree(server->mnt_path);
|
||||
server->mnt_path = NULL;
|
||||
}
|
||||
kfree(server->mnt_path);
|
||||
server->mnt_path = NULL;
|
||||
if (server->nfs4_state) {
|
||||
nfs4_put_client(server->nfs4_state);
|
||||
server->nfs4_state = NULL;
|
||||
|
@ -311,8 +309,7 @@ struct nfs4_state_owner *nfs4_get_state_owner(struct nfs_server *server, struct
|
|||
new = NULL;
|
||||
}
|
||||
spin_unlock(&clp->cl_lock);
|
||||
if (new)
|
||||
kfree(new);
|
||||
kfree(new);
|
||||
if (sp != NULL)
|
||||
return sp;
|
||||
put_rpccred(cred);
|
||||
|
|
|
@ -52,8 +52,7 @@ nfs_put_unlinkdata(struct nfs_unlinkdata *data)
|
|||
{
|
||||
if (--data->count == 0) {
|
||||
nfs_detach_unlinkdata(data);
|
||||
if (data->name.name != NULL)
|
||||
kfree(data->name.name);
|
||||
kfree(data->name.name);
|
||||
kfree(data);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -190,8 +190,7 @@ static int expkey_parse(struct cache_detail *cd, char *mesg, int mlen)
|
|||
out:
|
||||
if (dom)
|
||||
auth_domain_put(dom);
|
||||
if (buf)
|
||||
kfree(buf);
|
||||
kfree(buf);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -428,8 +427,7 @@ static int svc_export_parse(struct cache_detail *cd, char *mesg, int mlen)
|
|||
path_release(&nd);
|
||||
if (dom)
|
||||
auth_domain_put(dom);
|
||||
if (buf)
|
||||
kfree(buf);
|
||||
kfree(buf);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
|
@ -151,8 +151,7 @@ static u32 *read_buf(struct nfsd4_compoundargs *argp, int nbytes)
|
|||
if (nbytes <= sizeof(argp->tmp))
|
||||
p = argp->tmp;
|
||||
else {
|
||||
if (argp->tmpp)
|
||||
kfree(argp->tmpp);
|
||||
kfree(argp->tmpp);
|
||||
p = argp->tmpp = kmalloc(nbytes, GFP_KERNEL);
|
||||
if (!p)
|
||||
return NULL;
|
||||
|
@ -2476,10 +2475,8 @@ void nfsd4_release_compoundargs(struct nfsd4_compoundargs *args)
|
|||
kfree(args->ops);
|
||||
args->ops = args->iops;
|
||||
}
|
||||
if (args->tmpp) {
|
||||
kfree(args->tmpp);
|
||||
args->tmpp = NULL;
|
||||
}
|
||||
kfree(args->tmpp);
|
||||
args->tmpp = NULL;
|
||||
while (args->to_free) {
|
||||
struct tmpbuf *tb = args->to_free;
|
||||
args->to_free = tb->next;
|
||||
|
|
|
@ -93,8 +93,7 @@ nfsd_cache_shutdown(void)
|
|||
|
||||
cache_disabled = 1;
|
||||
|
||||
if (hash_list)
|
||||
kfree (hash_list);
|
||||
kfree (hash_list);
|
||||
hash_list = NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -1088,8 +1088,7 @@ static void __exit exit_openprom_fs(void)
|
|||
unregister_filesystem(&openprom_fs_type);
|
||||
free_pages ((unsigned long)nodes, alloced);
|
||||
for (i = 0; i < aliases_nodes; i++)
|
||||
if (alias_names [i])
|
||||
kfree (alias_names [i]);
|
||||
kfree (alias_names [i]);
|
||||
nodes = NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -39,8 +39,7 @@ static inline struct udf_sb_info *UDF_SB(struct super_block *sb)
|
|||
{\
|
||||
if (UDF_SB(X))\
|
||||
{\
|
||||
if (UDF_SB_PARTMAPS(X))\
|
||||
kfree(UDF_SB_PARTMAPS(X));\
|
||||
kfree(UDF_SB_PARTMAPS(X));\
|
||||
UDF_SB_PARTMAPS(X) = NULL;\
|
||||
}\
|
||||
}
|
||||
|
|
|
@ -472,13 +472,14 @@ static int ufs_read_cylinder_structures (struct super_block *sb) {
|
|||
return 1;
|
||||
|
||||
failed:
|
||||
if (base) kfree (base);
|
||||
kfree (base);
|
||||
if (sbi->s_ucg) {
|
||||
for (i = 0; i < uspi->s_ncg; i++)
|
||||
if (sbi->s_ucg[i]) brelse (sbi->s_ucg[i]);
|
||||
if (sbi->s_ucg[i])
|
||||
brelse (sbi->s_ucg[i]);
|
||||
kfree (sbi->s_ucg);
|
||||
for (i = 0; i < UFS_MAX_GROUP_LOADED; i++)
|
||||
if (sbi->s_ucpi[i]) kfree (sbi->s_ucpi[i]);
|
||||
kfree (sbi->s_ucpi[i]);
|
||||
}
|
||||
UFSD(("EXIT (FAILED)\n"))
|
||||
return 0;
|
||||
|
@ -981,9 +982,10 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent)
|
|||
dalloc_failed:
|
||||
iput(inode);
|
||||
failed:
|
||||
if (ubh) ubh_brelse_uspi (uspi);
|
||||
if (uspi) kfree (uspi);
|
||||
if (sbi) kfree(sbi);
|
||||
if (ubh)
|
||||
ubh_brelse_uspi (uspi);
|
||||
kfree (uspi);
|
||||
kfree(sbi);
|
||||
sb->s_fs_info = NULL;
|
||||
UFSD(("EXIT (FAILED)\n"))
|
||||
return -EINVAL;
|
||||
|
|
|
@ -74,8 +74,7 @@ setxattr(struct dentry *d, char __user *name, void __user *value,
|
|||
}
|
||||
out:
|
||||
up(&d->d_inode->i_sem);
|
||||
if (kvalue)
|
||||
kfree(kvalue);
|
||||
kfree(kvalue);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -173,8 +172,7 @@ getxattr(struct dentry *d, char __user *name, void __user *value, size_t size)
|
|||
error = -E2BIG;
|
||||
}
|
||||
out:
|
||||
if (kvalue)
|
||||
kfree(kvalue);
|
||||
kfree(kvalue);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
@ -259,8 +257,7 @@ listxattr(struct dentry *d, char __user *list, size_t size)
|
|||
error = -E2BIG;
|
||||
}
|
||||
out:
|
||||
if (klist)
|
||||
kfree(klist);
|
||||
kfree(klist);
|
||||
return error;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue