summaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs3acl.c
diff options
context:
space:
mode:
authorAndrey Utkin <andrey.krieger.utkin@gmail.com>2014-07-26 13:58:01 +0200
committerTrond Myklebust <trond.myklebust@primarydata.com>2014-08-03 23:05:22 +0200
commit7a9e75a185e6b3a3860e6a26fb6e88691fc2c9d9 (patch)
tree4a28dc67cbc45962acfd58e7ba4f56fa83c6084a /fs/nfs/nfs3acl.c
parentMerge branch 'nfs-rdma' of git://git.linux-nfs.org/projects/anna/nfs-rdma int... (diff)
downloadlinux-7a9e75a185e6b3a3860e6a26fb6e88691fc2c9d9.tar.xz
linux-7a9e75a185e6b3a3860e6a26fb6e88691fc2c9d9.zip
nfs3_list_one_acl(): check get_acl() result with IS_ERR_OR_NULL
There was a check for result being not NULL. But get_acl() may return NULL, or ERR_PTR, or actual pointer. The purpose of the function where current change is done is to "list ACLs only when they are available", so any error condition of get_acl() mustn't be elevated, and returning 0 there is still valid. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=81111 Signed-off-by: Andrey Utkin <andrey.krieger.utkin@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Fixes: 74adf83f5d77 (nfs: only show Posix ACLs in listxattr if actually...) Cc: stable@vger.kernel.org # 3.14+ Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/nfs3acl.c')
-rw-r--r--fs/nfs/nfs3acl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/nfs3acl.c b/fs/nfs/nfs3acl.c
index 8f854dde4150..d0fec260132a 100644
--- a/fs/nfs/nfs3acl.c
+++ b/fs/nfs/nfs3acl.c
@@ -256,7 +256,7 @@ nfs3_list_one_acl(struct inode *inode, int type, const char *name, void *data,
char *p = data + *result;
acl = get_acl(inode, type);
- if (!acl)
+ if (IS_ERR_OR_NULL(acl))
return 0;
posix_acl_release(acl);