diff options
author | Kirill A. Shutemov <kirill@shutemov.name> | 2008-10-16 01:02:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-16 14:21:38 -0400 |
commit | 53112488bebe25c0f5f8a002470046c0fe9a6c61 (patch) | |
tree | 6f685c176c7802e356d729984648d759f0ae0ba4 | |
parent | cde162c2a963dba6d1b6921b58917ef8f27f4150 (diff) |
alpha: introduce field 'taso' into struct linux_binprm
This change is Alpha-specific. It adds field 'taso' into struct
linux_binprm to remember if the application is TASO. Previously, field
sh_bang was used for this purpose.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Pavel Emelyanov <xemul@openvz.org>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/alpha/include/asm/a.out.h | 2 | ||||
-rw-r--r-- | fs/exec.c | 2 | ||||
-rw-r--r-- | include/linux/binfmts.h | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/arch/alpha/include/asm/a.out.h b/arch/alpha/include/asm/a.out.h index 02ce8473870a..acdc681231cb 100644 --- a/arch/alpha/include/asm/a.out.h +++ b/arch/alpha/include/asm/a.out.h | |||
@@ -95,7 +95,7 @@ struct exec | |||
95 | Worse, we have to notice the start address before swapping to use | 95 | Worse, we have to notice the start address before swapping to use |
96 | /sbin/loader, which of course is _not_ a TASO application. */ | 96 | /sbin/loader, which of course is _not_ a TASO application. */ |
97 | #define SET_AOUT_PERSONALITY(BFPM, EX) \ | 97 | #define SET_AOUT_PERSONALITY(BFPM, EX) \ |
98 | set_personality (((BFPM->sh_bang || EX.ah.entry < 0x100000000L \ | 98 | set_personality (((BFPM->taso || EX.ah.entry < 0x100000000L \ |
99 | ? ADDR_LIMIT_32BIT : 0) | PER_OSF4)) | 99 | ? ADDR_LIMIT_32BIT : 0) | PER_OSF4)) |
100 | 100 | ||
101 | #endif /* __KERNEL__ */ | 101 | #endif /* __KERNEL__ */ |
@@ -1189,7 +1189,7 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) | |||
1189 | return retval; | 1189 | return retval; |
1190 | 1190 | ||
1191 | /* Remember if the application is TASO. */ | 1191 | /* Remember if the application is TASO. */ |
1192 | bprm->sh_bang = eh->ah.entry < 0x100000000UL; | 1192 | bprm->taso = eh->ah.entry < 0x100000000UL; |
1193 | 1193 | ||
1194 | bprm->file = file; | 1194 | bprm->file = file; |
1195 | bprm->loader = loader; | 1195 | bprm->loader = loader; |
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h index 826f62350805..54980a3c7602 100644 --- a/include/linux/binfmts.h +++ b/include/linux/binfmts.h | |||
@@ -36,6 +36,9 @@ struct linux_binprm{ | |||
36 | unsigned long p; /* current top of mem */ | 36 | unsigned long p; /* current top of mem */ |
37 | unsigned int sh_bang:1, | 37 | unsigned int sh_bang:1, |
38 | misc_bang:1; | 38 | misc_bang:1; |
39 | #ifdef __alpha__ | ||
40 | unsigned int taso:1; | ||
41 | #endif | ||
39 | struct file * file; | 42 | struct file * file; |
40 | int e_uid, e_gid; | 43 | int e_uid, e_gid; |
41 | kernel_cap_t cap_post_exec_permitted; | 44 | kernel_cap_t cap_post_exec_permitted; |