From: Jesper Juhl 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 Signed-off-by: Andrew Morton --- fs/9p/trans_sock.c | 3 - fs/affs/super.c | 16 +++------ fs/afs/file.c | 3 - fs/autofs/waitq.c | 6 +-- fs/autofs4/inode.c | 6 +-- fs/autofs4/waitq.c | 6 +-- fs/befs/linuxvfs.c | 12 ++----- fs/binfmt_elf.c | 3 - fs/binfmt_elf_fdpic.c | 15 ++------ fs/cifs/asn1.c | 3 - fs/cifs/connect.c | 81 ++++++++++++++++-------------------------------- fs/cifs/link.c | 23 ++++--------- fs/cifs/misc.c | 15 ++------ fs/cifs/xattr.c | 15 ++------ fs/compat_ioctl.c | 3 + fs/devfs/base.c | 6 +-- fs/ext2/acl.c | 6 +-- fs/hostfs/hostfs_kern.c | 3 - fs/hpfs/dnode.c | 8 ++-- fs/hpfs/super.c | 10 ++--- fs/isofs/inode.c | 12 ++----- fs/jbd/commit.c | 6 +-- fs/jbd/transaction.c | 9 +---- fs/jffs/intrep.c | 18 ++++------ fs/jffs2/readinode.c | 8 +--- fs/jffs2/wbuf.c | 3 - fs/lockd/clntproc.c | 3 - fs/mbcache.c | 3 - fs/nfs/delegation.c | 3 - fs/nfs/inode.c | 15 ++------ fs/nfs/nfs4state.c | 9 +---- fs/nfs/proc.c | 3 - fs/nfs/unlink.c | 3 - fs/nfsd/export.c | 6 +-- fs/nfsd/nfs4xdr.c | 9 +---- fs/nfsd/nfscache.c | 3 - fs/openpromfs/inode.c | 3 - fs/udf/udf_sb.h | 3 - fs/ufs/super.c | 14 ++++---- fs/xattr.c | 9 +---- 40 files changed, 138 insertions(+), 247 deletions(-) diff -puN fs/9p/trans_sock.c~kfree-cleanup-fs fs/9p/trans_sock.c --- devel/fs/9p/trans_sock.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/9p/trans_sock.c 2005-10-14 01:44:58.000000000 -0700 @@ -269,8 +269,7 @@ static void v9fs_sock_close(struct v9fs_ dprintk(DEBUG_TRANS, "socket closed\n"); } - if (ts) - kfree(ts); + kfree(ts); trans->priv = NULL; } diff -puN fs/affs/super.c~kfree-cleanup-fs fs/affs/super.c --- devel/fs/affs/super.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/affs/super.c 2005-10-14 01:44:58.000000000 -0700 @@ -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, *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 @@ got_root: 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; diff -puN fs/afs/file.c~kfree-cleanup-fs fs/afs/file.c --- devel/fs/afs/file.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/afs/file.c 2005-10-14 01:44:58.000000000 -0700 @@ -295,8 +295,7 @@ static int afs_file_releasepage(struct p page->private = 0; ClearPagePrivate(page); - if (pageio) - kfree(pageio); + kfree(pageio); } _leave(" = 0"); diff -puN fs/autofs4/inode.c~kfree-cleanup-fs fs/autofs4/inode.c --- devel/fs/autofs4/inode.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/autofs4/inode.c 2005-10-14 01:44:58.000000000 -0700 @@ -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, diff -puN fs/autofs4/waitq.c~kfree-cleanup-fs fs/autofs4/waitq.c --- devel/fs/autofs4/waitq.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/autofs4/waitq.c 2005-10-14 01:44:58.000000000 -0700 @@ -243,10 +243,8 @@ int autofs4_wait(struct autofs_sb_info * 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 ) { diff -puN fs/autofs/waitq.c~kfree-cleanup-fs fs/autofs/waitq.c --- devel/fs/autofs/waitq.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/autofs/waitq.c 2005-10-14 01:44:58.000000000 -0700 @@ -150,10 +150,8 @@ int autofs_wait(struct autofs_sb_info *s 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 ) { diff -puN fs/befs/linuxvfs.c~kfree-cleanup-fs fs/befs/linuxvfs.c --- devel/fs/befs/linuxvfs.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/befs/linuxvfs.c 2005-10-14 01:44:58.000000000 -0700 @@ -731,20 +731,16 @@ parse_options(char *options, befs_mount_ 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; } diff -puN fs/binfmt_elf.c~kfree-cleanup-fs fs/binfmt_elf.c --- devel/fs/binfmt_elf.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/binfmt_elf.c 2005-10-14 01:44:58.000000000 -0700 @@ -1006,8 +1006,7 @@ out_free_dentry: 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: diff -puN fs/binfmt_elf_fdpic.c~kfree-cleanup-fs fs/binfmt_elf_fdpic.c --- devel/fs/binfmt_elf_fdpic.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/binfmt_elf_fdpic.c 2005-10-14 01:44:58.000000000 -0700 @@ -411,16 +411,11 @@ error: 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 */ diff -puN fs/cifs/asn1.c~kfree-cleanup-fs fs/cifs/asn1.c --- devel/fs/cifs/asn1.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/cifs/asn1.c 2005-10-14 01:44:58.000000000 -0700 @@ -553,8 +553,7 @@ decode_negTokenInit(unsigned char *secur *(oid + 3))); rc = compare_oid(oid, oidlen, NTLMSSP_OID, NTLMSSP_OID_LEN); - if(oid) - kfree(oid); + kfree(oid); if (rc) use_ntlmssp = TRUE; } diff -puN fs/cifs/connect.c~kfree-cleanup-fs fs/cifs/connect.c --- devel/fs/cifs/connect.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/cifs/connect.c 2005-10-14 01:44:58.000000000 -0700 @@ -1262,8 +1262,7 @@ connect_to_dfs_path(int xid, struct cifs 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; } @@ -1532,10 +1531,8 @@ cifs_mount(struct super_block *sb, struc 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; } @@ -1548,10 +1545,8 @@ cifs_mount(struct super_block *sb, struc 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; } @@ -1570,10 +1565,8 @@ cifs_mount(struct super_block *sb, struc 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; } @@ -1584,19 +1577,15 @@ cifs_mount(struct super_block *sb, struc } 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; } @@ -1609,10 +1598,8 @@ cifs_mount(struct super_block *sb, struc 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; } @@ -1627,10 +1614,8 @@ cifs_mount(struct super_block *sb, struc &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; } @@ -1651,10 +1636,8 @@ cifs_mount(struct super_block *sb, struc ("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; } @@ -1663,10 +1646,8 @@ cifs_mount(struct super_block *sb, struc 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 { @@ -1689,10 +1670,8 @@ cifs_mount(struct super_block *sb, struc 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; } @@ -1707,8 +1686,7 @@ cifs_mount(struct super_block *sb, struc 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 ")); @@ -1738,8 +1716,7 @@ cifs_mount(struct super_block *sb, struc 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 */ @@ -1818,8 +1795,7 @@ cifs_mount(struct super_block *sb, struc "", 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 { @@ -1922,8 +1898,7 @@ cifs_mount(struct super_block *sb, struc (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; } @@ -3280,8 +3255,7 @@ CIFSTCon(unsigned int xid, struct cifsSe 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, @@ -3298,8 +3272,7 @@ CIFSTCon(unsigned int xid, struct cifsSe 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, diff -puN fs/cifs/link.c~kfree-cleanup-fs fs/cifs/link.c --- devel/fs/cifs/link.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/cifs/link.c 2005-10-14 01:44:58.000000000 -0700 @@ -84,10 +84,8 @@ cifs_hardlink(struct dentry *old_file, s 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 } } - if (full_path) - kfree(full_path); + kfree(full_path); FreeXid(xid); return rc; } @@ -253,8 +250,7 @@ cifs_readlink(struct dentry *direntry, c 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, c 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, c rc)); } - if (tmpbuffer) { - kfree(tmpbuffer); - } - if (full_path) { - kfree(full_path); - } + kfree(tmpbuffer); + kfree(full_path); FreeXid(xid); return rc; } diff -puN fs/cifs/misc.c~kfree-cleanup-fs fs/cifs/misc.c --- devel/fs/cifs/misc.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/cifs/misc.c 2005-10-14 01:44:58.000000000 -0700 @@ -98,14 +98,10 @@ sesInfoFree(struct cifsSesInfo *buf_to_f 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 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); } diff -puN fs/cifs/xattr.c~kfree-cleanup-fs fs/cifs/xattr.c --- devel/fs/cifs/xattr.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/cifs/xattr.c 2005-10-14 01:44:58.000000000 -0700 @@ -87,8 +87,7 @@ int cifs_removexattr(struct dentry * dir 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 * dirent 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 * dirent } 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 * di 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 * d cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); - if (full_path) - kfree(full_path); + kfree(full_path); FreeXid(xid); #endif return rc; diff -puN fs/compat_ioctl.c~kfree-cleanup-fs fs/compat_ioctl.c --- devel/fs/compat_ioctl.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/compat_ioctl.c 2005-10-14 01:44:58.000000000 -0700 @@ -2235,7 +2235,8 @@ static int fd_ioctl_trans(unsigned int f if (err) err = -EFAULT; -out: if (karg) kfree(karg); +out: + kfree(karg); return err; } diff -puN fs/devfs/base.c~kfree-cleanup-fs fs/devfs/base.c --- devel/fs/devfs/base.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/devfs/base.c 2005-10-14 01:44:58.000000000 -0700 @@ -2738,10 +2738,8 @@ static int devfsd_close(struct inode *in 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; diff -puN fs/ext2/acl.c~kfree-cleanup-fs fs/ext2/acl.c --- devel/fs/ext2/acl.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/ext2/acl.c 2005-10-14 01:44:58.000000000 -0700 @@ -194,8 +194,7 @@ ext2_get_acl(struct inode *inode, int ty 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 ty error = ext2_xattr_set(inode, name_index, "", value, size, 0); - if (value) - kfree(value); + kfree(value); if (!error) { switch(type) { case ACL_TYPE_ACCESS: diff -puN fs/hostfs/hostfs_kern.c~kfree-cleanup-fs fs/hostfs/hostfs_kern.c --- devel/fs/hostfs/hostfs_kern.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/hostfs/hostfs_kern.c 2005-10-14 01:44:58.000000000 -0700 @@ -294,8 +294,7 @@ static void hostfs_delete_inode(struct i 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.*/ diff -puN fs/hpfs/dnode.c~kfree-cleanup-fs fs/hpfs/dnode.c --- devel/fs/hpfs/dnode.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/hpfs/dnode.c 2005-10-14 01:44:58.000000000 -0700 @@ -244,12 +244,12 @@ static int hpfs_add_to_dnode(struct inod 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 inod 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 inod 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; } diff -puN fs/hpfs/super.c~kfree-cleanup-fs fs/hpfs/super.c --- devel/fs/hpfs/super.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/hpfs/super.c 2005-10-14 01:44:58.000000000 -0700 @@ -75,7 +75,7 @@ void hpfs_error(struct super_block *s, c } 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 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; diff -puN fs/isofs/inode.c~kfree-cleanup-fs fs/isofs/inode.c --- devel/fs/isofs/inode.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/isofs/inode.c 2005-10-14 01:44:58.000000000 -0700 @@ -855,8 +855,7 @@ root_found: 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 @@ out_unknown_format: 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 @@ out_nomem: 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 inod init_special_inode(inode, inode->i_mode, inode->i_rdev); out: - if (tmpde) - kfree(tmpde); + kfree(tmpde); if (bh) brelse(bh); return; diff -puN fs/jbd/commit.c~kfree-cleanup-fs fs/jbd/commit.c --- devel/fs/jbd/commit.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/jbd/commit.c 2005-10-14 01:44:58.000000000 -0700 @@ -261,10 +261,8 @@ void journal_commit_transaction(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); diff -puN fs/jbd/transaction.c~kfree-cleanup-fs fs/jbd/transaction.c --- devel/fs/jbd/transaction.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/jbd/transaction.c 2005-10-14 01:44:58.000000000 -0700 @@ -227,8 +227,7 @@ repeat_locked: 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 @@ done: 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 @@ repeat: jbd_unlock_bh_state(bh); out: journal_put_journal_head(jh); - if (committed_data) - kfree(committed_data); + kfree(committed_data); return err; } diff -puN fs/jffs2/readinode.c~kfree-cleanup-fs fs/jffs2/readinode.c --- devel/fs/jffs2/readinode.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/jffs2/readinode.c 2005-10-14 01:44:58.000000000 -0700 @@ -490,7 +490,7 @@ int jffs2_do_crccheck_inode(struct jffs2 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_s /* 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; diff -puN fs/jffs2/wbuf.c~kfree-cleanup-fs fs/jffs2/wbuf.c --- devel/fs/jffs2/wbuf.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/jffs2/wbuf.c 2005-10-14 01:44:58.000000000 -0700 @@ -327,8 +327,7 @@ static void jffs2_wbuf_recover(struct jf 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) { diff -puN fs/jffs/intrep.c~kfree-cleanup-fs fs/jffs/intrep.c --- devel/fs/jffs/intrep.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/jffs/intrep.c 2005-10-14 01:44:58.000000000 -0700 @@ -462,7 +462,7 @@ jffs_checksum_flash(struct mtd_info *mtd } /* 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, c } printk("jffs_find_child(): Didn't find the file \"%s\".\n", (copy ? copy : "")); - if (copy) { - kfree(copy); - } + kfree(copy); }); return f; diff -puN fs/lockd/clntproc.c~kfree-cleanup-fs fs/lockd/clntproc.c --- devel/fs/lockd/clntproc.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/lockd/clntproc.c 2005-10-14 01:44:58.000000000 -0700 @@ -112,8 +112,7 @@ static struct nlm_lockowner *nlm_find_lo } } spin_unlock(&host->h_lock); - if (new != NULL) - kfree(new); + kfree(new); return res; } diff -puN fs/mbcache.c~kfree-cleanup-fs fs/mbcache.c --- devel/fs/mbcache.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/mbcache.c 2005-10-14 01:44:58.000000000 -0700 @@ -301,8 +301,7 @@ fail: 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; diff -puN fs/nfs/delegation.c~kfree-cleanup-fs fs/nfs/delegation.c --- devel/fs/nfs/delegation.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/nfs/delegation.c 2005-10-14 01:44:58.000000000 -0700 @@ -111,8 +111,7 @@ int nfs_inode_set_delegation(struct inod } } spin_unlock(&clp->cl_lock); - if (delegation != NULL) - kfree(delegation); + kfree(delegation); return status; } diff -puN fs/nfsd/export.c~kfree-cleanup-fs fs/nfsd/export.c --- devel/fs/nfsd/export.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/nfsd/export.c 2005-10-14 01:44:58.000000000 -0700 @@ -190,8 +190,7 @@ static int expkey_parse(struct cache_det 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 path_release(&nd); if (dom) auth_domain_put(dom); - if (buf) - kfree(buf); + kfree(buf); return err; } diff -puN fs/nfsd/nfs4xdr.c~kfree-cleanup-fs fs/nfsd/nfs4xdr.c --- devel/fs/nfsd/nfs4xdr.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/nfsd/nfs4xdr.c 2005-10-14 01:44:58.000000000 -0700 @@ -151,8 +151,7 @@ static u32 *read_buf(struct nfsd4_compou 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 n 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; diff -puN fs/nfsd/nfscache.c~kfree-cleanup-fs fs/nfsd/nfscache.c --- devel/fs/nfsd/nfscache.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/nfsd/nfscache.c 2005-10-14 01:44:58.000000000 -0700 @@ -93,8 +93,7 @@ nfsd_cache_shutdown(void) cache_disabled = 1; - if (hash_list) - kfree (hash_list); + kfree (hash_list); hash_list = NULL; } diff -puN fs/nfs/inode.c~kfree-cleanup-fs fs/nfs/inode.c --- devel/fs/nfs/inode.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/nfs/inode.c 2005-10-14 01:44:58.000000000 -0700 @@ -1637,8 +1637,7 @@ static void nfs_kill_super(struct super_ rpciod_down(); /* release rpciod */ - if (server->hostname != NULL) - kfree(server->hostname); + kfree(server->hostname); kfree(server); } @@ -1858,8 +1857,7 @@ nfs_copy_user_string(char *dst, struct n 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'; @@ -1950,10 +1948,8 @@ static struct super_block *nfs4_get_sb(s 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; } @@ -1973,8 +1969,7 @@ static void nfs4_kill_super(struct super destroy_nfsv4_state(server); - if (server->hostname != NULL) - kfree(server->hostname); + kfree(server->hostname); kfree(server); } diff -puN fs/nfs/nfs4state.c~kfree-cleanup-fs fs/nfs/nfs4state.c --- devel/fs/nfs/nfs4state.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/nfs/nfs4state.c 2005-10-14 01:44:58.000000000 -0700 @@ -69,10 +69,8 @@ init_nfsv4_state(struct nfs_server *serv 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; @@ -308,8 +306,7 @@ struct nfs4_state_owner *nfs4_get_state_ new = NULL; } spin_unlock(&clp->cl_lock); - if (new) - kfree(new); + kfree(new); if (sp != NULL) return sp; put_rpccred(cred); diff -puN fs/nfs/proc.c~kfree-cleanup-fs fs/nfs/proc.c --- devel/fs/nfs/proc.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/nfs/proc.c 2005-10-14 01:44:58.000000000 -0700 @@ -331,8 +331,7 @@ nfs_proc_unlink_done(struct dentry *dir, { struct rpc_message *msg = &task->tk_msg; - if (msg->rpc_argp) - kfree(msg->rpc_argp); + kfree(msg->rpc_argp); return 0; } diff -puN fs/nfs/unlink.c~kfree-cleanup-fs fs/nfs/unlink.c --- devel/fs/nfs/unlink.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/nfs/unlink.c 2005-10-14 01:44:58.000000000 -0700 @@ -52,8 +52,7 @@ nfs_put_unlinkdata(struct nfs_unlinkdata { if (--data->count == 0) { nfs_detach_unlinkdata(data); - if (data->name.name != NULL) - kfree(data->name.name); + kfree(data->name.name); kfree(data); } } diff -puN fs/openpromfs/inode.c~kfree-cleanup-fs fs/openpromfs/inode.c --- devel/fs/openpromfs/inode.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/openpromfs/inode.c 2005-10-14 01:44:58.000000000 -0700 @@ -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; } diff -puN fs/udf/udf_sb.h~kfree-cleanup-fs fs/udf/udf_sb.h --- devel/fs/udf/udf_sb.h~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/udf/udf_sb.h 2005-10-14 01:44:58.000000000 -0700 @@ -39,8 +39,7 @@ static inline struct udf_sb_info *UDF_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;\ }\ } diff -puN fs/ufs/super.c~kfree-cleanup-fs fs/ufs/super.c --- devel/fs/ufs/super.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/ufs/super.c 2005-10-14 01:44:58.000000000 -0700 @@ -472,13 +472,14 @@ static int ufs_read_cylinder_structures 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 @@ magic_found: 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; diff -puN fs/xattr.c~kfree-cleanup-fs fs/xattr.c --- devel/fs/xattr.c~kfree-cleanup-fs 2005-10-14 01:44:58.000000000 -0700 +++ devel-akpm/fs/xattr.c 2005-10-14 01:44:58.000000000 -0700 @@ -74,8 +74,7 @@ setxattr(struct dentry *d, char __user * } 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 * error = -E2BIG; } out: - if (kvalue) - kfree(kvalue); + kfree(kvalue); return error; } @@ -259,8 +257,7 @@ listxattr(struct dentry *d, char __user error = -E2BIG; } out: - if (klist) - kfree(klist); + kfree(klist); return error; } _