Can you please comment on it ? regards santosh On Fri, Mar 2, 2012 at 11:47 AM, santosh nayak <santoshprasadnayak@xxxxxxxxx> wrote: > From: Santosh Nayak <santoshprasadnayak@xxxxxxxxx> > > Memory is allocated irrespective of whether CIFS_ACL is configured > or not. But free is happenning only if CIFS_ACL is set. This is a > possible memory leak scenario. > > Fix is: > Allocate and free memory only if CIFS_ACL is configured. > > Signed-off-by: Santosh Nayak <santoshprasadnayak@xxxxxxxxx> > --- > fs/cifs/xattr.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/fs/cifs/xattr.c b/fs/cifs/xattr.c > index 45f07c4..10d92cf 100644 > --- a/fs/cifs/xattr.c > +++ b/fs/cifs/xattr.c > @@ -105,7 +105,6 @@ int cifs_setxattr(struct dentry *direntry, const char *ea_name, > struct cifs_tcon *pTcon; > struct super_block *sb; > char *full_path; > - struct cifs_ntsd *pacl; > > if (direntry == NULL) > return -EIO; > @@ -164,23 +163,24 @@ int cifs_setxattr(struct dentry *direntry, const char *ea_name, > cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); > } else if (strncmp(ea_name, CIFS_XATTR_CIFS_ACL, > strlen(CIFS_XATTR_CIFS_ACL)) == 0) { > +#ifdef CONFIG_CIFS_ACL > + struct cifs_ntsd *pacl; > pacl = kmalloc(value_size, GFP_KERNEL); > if (!pacl) { > cFYI(1, "%s: Can't allocate memory for ACL", > __func__); > rc = -ENOMEM; > } else { > -#ifdef CONFIG_CIFS_ACL > memcpy(pacl, ea_value, value_size); > rc = set_cifs_acl(pacl, value_size, > direntry->d_inode, full_path, CIFS_ACL_DACL); > if (rc == 0) /* force revalidate of the inode */ > CIFS_I(direntry->d_inode)->time = 0; > kfree(pacl); > + } > #else > cFYI(1, "Set CIFS ACL not supported yet"); > #endif /* CONFIG_CIFS_ACL */ > - } > } else { > int temp; > temp = strncmp(ea_name, POSIX_ACL_XATTR_ACCESS, > -- > 1.7.4.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-cifs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html