提交 f99d49ad 编写于 作者: J Jesper Juhl 提交者: Linus Torvalds

[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: NJesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 6044ec88
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册