Thread (26 messages) flat view 26 messages, 6 authors, 2011-01-03

Re: [PATCH -V4 07/11] vfs: Make acl_permission_check() work for richacls

From: Jeff Layton <hidden>
Date: 2010-09-24 15:50:49
Also in: linux-fsdevel, lkml

On Fri, 24 Sep 2010 18:18:10 +0530
"Aneesh Kumar K.V" [off-list ref] wrote:
quoted hunk ↗ jump to hunk
From: Andreas Gruenbacher <redacted>

Signed-off-by: Andreas Gruenbacher <redacted>
Signed-off-by: Aneesh Kumar K.V <redacted>
---
 fs/namei.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/fs/namei.c b/fs/namei.c
index 855b360..b0b8a71 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -174,6 +174,12 @@ static int acl_permission_check(struct inode *inode, int mask,
 {
 	umode_t			mode = inode->i_mode;
 
+	if (IS_RICHACL(inode)) {
+		int error = check_acl(inode, mask);
+		if (error != -EAGAIN)
+			return error;
+	}
+
 	if (current_fsuid() == inode->i_uid)
 		mode >>= 6;
 	else {
This may just be my own ignorance of ACL semantics and unfamiliarity
with the ACL code in general. It seems a bit unusual though...

Just to be clear...this patch implies that with richacls you can deny
or grant access to the owner of the file even if the mode bits say
otherwise. With POSIX acls, this seems to be the other way around.

Hmm....guess I should read the spec...

-- 
Jeff Layton [off-list ref]
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help