diff options
-rw-r--r-- | fs/binfmt_elf.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 451c04f..d043440 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -177,10 +177,11 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec, } /* Create the ELF interpreter info */ - elf_info = (elf_addr_t *) current->mm->saved_auxv; + elf_info = (elf_addr_t *)current->mm->saved_auxv; #define NEW_AUX_ENT(id, val) \ do { \ - elf_info[ei_index++] = id; elf_info[ei_index++] = val; \ + elf_info[ei_index++] = id; \ + elf_info[ei_index++] = val; \ } while (0) #ifdef ARCH_DLINFO @@ -199,17 +200,17 @@ create_elf_tables(struct linux_binprm *bprm, struct elfhdr *exec, NEW_AUX_ENT(AT_BASE, interp_load_addr); NEW_AUX_ENT(AT_FLAGS, 0); NEW_AUX_ENT(AT_ENTRY, exec->e_entry); - NEW_AUX_ENT(AT_UID, (elf_addr_t)tsk->uid); - NEW_AUX_ENT(AT_EUID, (elf_addr_t)tsk->euid); - NEW_AUX_ENT(AT_GID, (elf_addr_t)tsk->gid); - NEW_AUX_ENT(AT_EGID, (elf_addr_t)tsk->egid); - NEW_AUX_ENT(AT_SECURE, (elf_addr_t)security_bprm_secureexec(bprm)); + NEW_AUX_ENT(AT_UID, tsk->uid); + NEW_AUX_ENT(AT_EUID, tsk->euid); + NEW_AUX_ENT(AT_GID, tsk->gid); + NEW_AUX_ENT(AT_EGID, tsk->egid); + NEW_AUX_ENT(AT_SECURE, security_bprm_secureexec(bprm)); if (k_platform) { NEW_AUX_ENT(AT_PLATFORM, - (elf_addr_t)(unsigned long)u_platform); + (elf_addr_t)(unsigned long)u_platform); } if (bprm->interp_flags & BINPRM_FLAGS_EXECFD) { - NEW_AUX_ENT(AT_EXECFD, (elf_addr_t)bprm->interp_data); + NEW_AUX_ENT(AT_EXECFD, bprm->interp_data); } #undef NEW_AUX_ENT /* AT_NULL is zero; clear the rest too */ |