[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#586558: [stable] [PATCH] Btrfs: should add a permission check for setfacl



On Sat, Jun 26, 2010 at 09:55:47AM -0700, Greg KH wrote:
> On Sat, Jun 26, 2010 at 06:47:05AM +0200, Bastian Blank wrote:
> > On Fri, Jun 25, 2010 at 03:47:05PM -0700, Greg KH wrote:
> > > On Sun, Jun 20, 2010 at 06:30:21PM +0200, Bastian Blank wrote:
> > > > This was commit 2f26afba46f0ebf155cf9be746496a0304a5b7cf.
> > > now queued up.
> > Whoops, sorry. I mixed the patches up. The sent one does not even
> > compile with 2.6.32.
> So what I now have in the stable queue for .32 is not good?

Yep.

> Let me know if I need to fix something up.

The following patch is known working with .32. (The function gets a
struct inode in .32 and .34 instead of the dentry in HEAD.)

Bastian

diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c
index 3616042..38ebe78 100644
--- a/fs/btrfs/acl.c
+++ b/fs/btrfs/acl.c
@@ -157,6 +157,9 @@ static int btrfs_xattr_set_acl(struct inode *inode, int type,
 	int ret = 0;
 	struct posix_acl *acl = NULL;
 
+	if (!is_owner_or_cap(inode))
+		return -EPERM;
+
 	if (value) {
 		acl = posix_acl_from_xattr(value, size);
 		if (acl == NULL) {
-- 
You!  What PLANET is this!
		-- McCoy, "The City on the Edge of Forever", stardate 3134.0



Reply to: