aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/binfmt_elf.c12
-rw-r--r--fs/binfmt_elf_fdpic.c12
-rw-r--r--init/Kconfig2
3 files changed, 12 insertions, 14 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index 48ffb3dc610a..efc673163ef5 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -228,10 +228,10 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec,
228 NEW_AUX_ENT(AT_BASE, interp_load_addr); 228 NEW_AUX_ENT(AT_BASE, interp_load_addr);
229 NEW_AUX_ENT(AT_FLAGS, 0); 229 NEW_AUX_ENT(AT_FLAGS, 0);
230 NEW_AUX_ENT(AT_ENTRY, exec->e_entry); 230 NEW_AUX_ENT(AT_ENTRY, exec->e_entry);
231 NEW_AUX_ENT(AT_UID, cred->uid); 231 NEW_AUX_ENT(AT_UID, from_kuid_munged(cred->user_ns, cred->uid));
232 NEW_AUX_ENT(AT_EUID, cred->euid); 232 NEW_AUX_ENT(AT_EUID, from_kuid_munged(cred->user_ns, cred->euid));
233 NEW_AUX_ENT(AT_GID, cred->gid); 233 NEW_AUX_ENT(AT_GID, from_kgid_munged(cred->user_ns, cred->gid));
234 NEW_AUX_ENT(AT_EGID, cred->egid); 234 NEW_AUX_ENT(AT_EGID, from_kgid_munged(cred->user_ns, cred->egid));
235 NEW_AUX_ENT(AT_SECURE, security_bprm_secureexec(bprm)); 235 NEW_AUX_ENT(AT_SECURE, security_bprm_secureexec(bprm));
236 NEW_AUX_ENT(AT_RANDOM, (elf_addr_t)(unsigned long)u_rand_bytes); 236 NEW_AUX_ENT(AT_RANDOM, (elf_addr_t)(unsigned long)u_rand_bytes);
237 NEW_AUX_ENT(AT_EXECFN, bprm->exec); 237 NEW_AUX_ENT(AT_EXECFN, bprm->exec);
@@ -1367,8 +1367,8 @@ static int fill_psinfo(struct elf_prpsinfo *psinfo, struct task_struct *p,
1367 psinfo->pr_flag = p->flags; 1367 psinfo->pr_flag = p->flags;
1368 rcu_read_lock(); 1368 rcu_read_lock();
1369 cred = __task_cred(p); 1369 cred = __task_cred(p);
1370 SET_UID(psinfo->pr_uid, cred->uid); 1370 SET_UID(psinfo->pr_uid, from_kuid_munged(cred->user_ns, cred->uid));
1371 SET_GID(psinfo->pr_gid, cred->gid); 1371 SET_GID(psinfo->pr_gid, from_kgid_munged(cred->user_ns, cred->gid));
1372 rcu_read_unlock(); 1372 rcu_read_unlock();
1373 strncpy(psinfo->pr_fname, p->comm, sizeof(psinfo->pr_fname)); 1373 strncpy(psinfo->pr_fname, p->comm, sizeof(psinfo->pr_fname));
1374 1374
diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index 9bd5612a8224..82bf0ed0cd10 100644
--- a/fs/binfmt_elf_fdpic.c
+++ b/fs/binfmt_elf_fdpic.c
@@ -631,10 +631,10 @@ static int create_elf_fdpic_tables(struct linux_binprm *bprm,
631 NEW_AUX_ENT(AT_BASE, interp_params->elfhdr_addr); 631 NEW_AUX_ENT(AT_BASE, interp_params->elfhdr_addr);
632 NEW_AUX_ENT(AT_FLAGS, 0); 632 NEW_AUX_ENT(AT_FLAGS, 0);
633 NEW_AUX_ENT(AT_ENTRY, exec_params->entry_addr); 633 NEW_AUX_ENT(AT_ENTRY, exec_params->entry_addr);
634 NEW_AUX_ENT(AT_UID, (elf_addr_t) cred->uid); 634 NEW_AUX_ENT(AT_UID, (elf_addr_t) from_kuid_munged(cred->user_ns, cred->uid));
635 NEW_AUX_ENT(AT_EUID, (elf_addr_t) cred->euid); 635 NEW_AUX_ENT(AT_EUID, (elf_addr_t) from_kuid_munged(cred->user_ns, cred->euid));
636 NEW_AUX_ENT(AT_GID, (elf_addr_t) cred->gid); 636 NEW_AUX_ENT(AT_GID, (elf_addr_t) from_kgid_munged(cred->user_ns, cred->gid));
637 NEW_AUX_ENT(AT_EGID, (elf_addr_t) cred->egid); 637 NEW_AUX_ENT(AT_EGID, (elf_addr_t) from_kgid_munged(cred->user_ns, cred->egid));
638 NEW_AUX_ENT(AT_SECURE, security_bprm_secureexec(bprm)); 638 NEW_AUX_ENT(AT_SECURE, security_bprm_secureexec(bprm));
639 NEW_AUX_ENT(AT_EXECFN, bprm->exec); 639 NEW_AUX_ENT(AT_EXECFN, bprm->exec);
640 640
@@ -1431,8 +1431,8 @@ static int fill_psinfo(struct elf_prpsinfo *psinfo, struct task_struct *p,
1431 psinfo->pr_flag = p->flags; 1431 psinfo->pr_flag = p->flags;
1432 rcu_read_lock(); 1432 rcu_read_lock();
1433 cred = __task_cred(p); 1433 cred = __task_cred(p);
1434 SET_UID(psinfo->pr_uid, cred->uid); 1434 SET_UID(psinfo->pr_uid, from_kuid_munged(cred->user_ns, cred->uid));
1435 SET_GID(psinfo->pr_gid, cred->gid); 1435 SET_GID(psinfo->pr_gid, from_kgid_munged(cred->user_ns, cred->gid));
1436 rcu_read_unlock(); 1436 rcu_read_unlock();
1437 strncpy(psinfo->pr_fname, p->comm, sizeof(psinfo->pr_fname)); 1437 strncpy(psinfo->pr_fname, p->comm, sizeof(psinfo->pr_fname));
1438 1438
diff --git a/init/Kconfig b/init/Kconfig
index 3349670149dc..994a53ec1d8a 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -865,8 +865,6 @@ config UIDGID_CONVERTED
865 865
866 # List of kernel pieces that need user namespace work 866 # List of kernel pieces that need user namespace work
867 # Features 867 # Features
868 depends on BINFMT_ELF = n
869 depends on BINFMT_ELF_FDPIC = n
870 depends on UNIX98_PTYS = n 868 depends on UNIX98_PTYS = n
871 depends on CGROUPS = n 869 depends on CGROUPS = n
872 depends on MIGRATION = n 870 depends on MIGRATION = n