diff options
| -rw-r--r-- | kernel/user_namespace.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c index 6e80f4c1322b..a2e37c5d2f63 100644 --- a/kernel/user_namespace.c +++ b/kernel/user_namespace.c | |||
| @@ -826,6 +826,11 @@ static bool new_idmap_permitted(const struct file *file, | |||
| 826 | kuid_t uid = make_kuid(ns->parent, id); | 826 | kuid_t uid = make_kuid(ns->parent, id); |
| 827 | if (uid_eq(uid, cred->euid)) | 827 | if (uid_eq(uid, cred->euid)) |
| 828 | return true; | 828 | return true; |
| 829 | } else if (cap_setid == CAP_SETGID) { | ||
| 830 | kgid_t gid = make_kgid(ns->parent, id); | ||
| 831 | if (!(ns->flags & USERNS_SETGROUPS_ALLOWED) && | ||
| 832 | gid_eq(gid, cred->egid)) | ||
| 833 | return true; | ||
| 829 | } | 834 | } |
| 830 | } | 835 | } |
| 831 | 836 | ||
