42 lines
1.4 KiB
Diff
42 lines
1.4 KiB
Diff
|
Bugzilla: 1131551
|
||
|
Upstream-status: 3.17-rc1 and Cc'd to stable
|
||
|
|
||
|
From 7a9e75a185e6b3a3860e6a26fb6e88691fc2c9d9 Mon Sep 17 00:00:00 2001
|
||
|
From: Andrey Utkin <andrey.krieger.utkin@gmail.com>
|
||
|
Date: Sat, 26 Jul 2014 14:58:01 +0300
|
||
|
Subject: [PATCH] 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>
|
||
|
---
|
||
|
fs/nfs/nfs3acl.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
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);
|
||
|
--
|
||
|
1.9.3
|
||
|
|