Re: FAILED: patch "[PATCH] ceph: fix up non-directory creation in SGID directories" failed to apply to 5.10-stable tree

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

 



On Fri, Dec 17, 2021 at 10:55:23AM -0500, Jeff Layton wrote:
> On Fri, 2021-12-17 at 16:04 +0100, Greg KH wrote:
> > On Fri, Dec 17, 2021 at 03:23:01PM +0100, Christian Brauner wrote:
> > > On Fri, Dec 17, 2021 at 02:51:46PM +0100, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> > > > 
> > > > The patch below does not apply to the 5.10-stable tree.
> > > > If someone wants it applied there, or to any other stable or longterm
> > > > tree, then please email the backport, including the original git commit
> > > > id to <stable@xxxxxxxxxxxxxxx>.
> > > 
> > > Oh? I just applied the patch on top of:
> > > 
> > > commit 272aedd4a305 ("Linux 5.10.87")
> > > 
> > > without any issues. Not sure what failed for you.
> > 
> > It fails to build :(
> 
> I think the issue is probably that capable_wrt_inode_uidgid in kernels
> of that era didn't take a userns arg. I had to do a similar fixup for
> the RHEL8 backport.

Yes, I think this is:

diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index 5eddee27a688..8ed881fd7440 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -615,7 +615,7 @@ static int ceph_finish_async_create(struct inode *dir, struct dentry *dentry,
                        mode |= S_ISGID;
                else if ((mode & (S_ISGID | S_IXGRP)) == (S_ISGID | S_IXGRP) &&
                         !in_group_p(dir->i_gid) &&
-                        !capable_wrt_inode_uidgid(&init_user_ns, dir, CAP_FSETID))
+                        !capable_wrt_inode_uidgid(dir, CAP_FSETID))
                        mode &= ~S_ISGID;
        } else {
                in.gid = cpu_to_le32(from_kgid(&init_user_ns, current_fsgid()));

on top of my patch.

Thanks!
Christian



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux