mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
Merge branch 'for-v5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
Pull userns fix from Eric Biederman:
"Removing the ambiguity broke userspace so this reverts the change"
* 'for-v5.12-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
Revert 95ebabde38
("capabilities: Don't allow writing ambiguous v3 file capabilities")
This commit is contained in:
@@ -543,8 +543,7 @@ int cap_convert_nscap(struct user_namespace *mnt_userns, struct dentry *dentry,
|
|||||||
__u32 magic, nsmagic;
|
__u32 magic, nsmagic;
|
||||||
struct inode *inode = d_backing_inode(dentry);
|
struct inode *inode = d_backing_inode(dentry);
|
||||||
struct user_namespace *task_ns = current_user_ns(),
|
struct user_namespace *task_ns = current_user_ns(),
|
||||||
*fs_ns = inode->i_sb->s_user_ns,
|
*fs_ns = inode->i_sb->s_user_ns;
|
||||||
*ancestor;
|
|
||||||
kuid_t rootid;
|
kuid_t rootid;
|
||||||
size_t newsize;
|
size_t newsize;
|
||||||
|
|
||||||
@@ -567,15 +566,6 @@ int cap_convert_nscap(struct user_namespace *mnt_userns, struct dentry *dentry,
|
|||||||
if (nsrootid == -1)
|
if (nsrootid == -1)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
/*
|
|
||||||
* Do not allow allow adding a v3 filesystem capability xattr
|
|
||||||
* if the rootid field is ambiguous.
|
|
||||||
*/
|
|
||||||
for (ancestor = task_ns->parent; ancestor; ancestor = ancestor->parent) {
|
|
||||||
if (from_kuid(ancestor, rootid) == 0)
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
|
|
||||||
newsize = sizeof(struct vfs_ns_cap_data);
|
newsize = sizeof(struct vfs_ns_cap_data);
|
||||||
nscap = kmalloc(newsize, GFP_ATOMIC);
|
nscap = kmalloc(newsize, GFP_ATOMIC);
|
||||||
if (!nscap)
|
if (!nscap)
|
||||||
|
Reference in New Issue
Block a user