X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=fs%2Fxattr.c;h=bcc2156d4d2873d0c3a7b0841a4cdaf1fa456e22;hb=cdcdb28623fb74d9564b102cd1cbe3854071e855;hp=f6e00c0e114f6225d1f7af66517dd537aa0724bf;hpb=d381d8a9a08cac9824096213069159be17fd2e2f;p=mv-sheeva.git diff --git a/fs/xattr.c b/fs/xattr.c index f6e00c0e114..bcc2156d4d2 100644 --- a/fs/xattr.c +++ b/fs/xattr.c @@ -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; } @@ -247,7 +245,7 @@ listxattr(struct dentry *d, char __user *list, size_t size) error = d->d_inode->i_op->listxattr(d, klist, size); } else { error = security_inode_listsecurity(d->d_inode, klist, size); - if (size && error >= size) + if (size && error > size) error = -ERANGE; } if (error > 0) { @@ -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; }