__setattr_copy() was copied from setattr_copy() in fs/attr.c, there is two missing patches doesn't cover this inner function, fix it.
Commit 7fa294c8991c ("userns: Allow chown and setgid preservation") Commit 23adbe12ef7d ("fs,userns: Change inode_capable to capable_wrt_inode_uidgid")
Cc: stable@vger.kernel.org Signed-off-by: Chao Yu yuchao0@huawei.com --- fs/f2fs/file.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 16ea10f2bcf5..5bcaa68f74ad 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -848,7 +848,8 @@ static void __setattr_copy(struct inode *inode, const struct iattr *attr) if (ia_valid & ATTR_MODE) { umode_t mode = attr->ia_mode;
- if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID)) + if (!in_group_p(inode->i_gid) && + !capable_wrt_inode_uidgid(inode, CAP_FSETID)) mode &= ~S_ISGID; set_acl_inode(inode, mode); }
On Wed, Dec 16, 2020 at 05:15:23PM +0800, Chao Yu wrote:
__setattr_copy() was copied from setattr_copy() in fs/attr.c, there is two missing patches doesn't cover this inner function, fix it.
Commit 7fa294c8991c ("userns: Allow chown and setgid preservation") Commit 23adbe12ef7d ("fs,userns: Change inode_capable to capable_wrt_inode_uidgid")
Are these lines supposed to be "Fixes:" instead of "Commit "?
thanks,
greg k-h
On 2020/12/16 17:44, Greg KH wrote:
On Wed, Dec 16, 2020 at 05:15:23PM +0800, Chao Yu wrote:
__setattr_copy() was copied from setattr_copy() in fs/attr.c, there is two missing patches doesn't cover this inner function, fix it.
Commit 7fa294c8991c ("userns: Allow chown and setgid preservation") Commit 23adbe12ef7d ("fs,userns: Change inode_capable to capable_wrt_inode_uidgid")
Are these lines supposed to be "Fixes:" instead of "Commit "?
IMO, the issue was introduced when f2fs module was added, and above two commits missed to cover f2fs module... so I guess we can add Fixes line as below?
Fixes: fbfa2cc58d53 ("f2fs: add file operations")
Thanks,
thanks,
greg k-h .
linux-stable-mirror@lists.linaro.org