提交 53112488 编写于 作者: K Kirill A. Shutemov 提交者: Linus Torvalds

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: NKirill 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: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 cde162c2
...@@ -95,7 +95,7 @@ struct exec ...@@ -95,7 +95,7 @@ struct exec
Worse, we have to notice the start address before swapping to use Worse, we have to notice the start address before swapping to use
/sbin/loader, which of course is _not_ a TASO application. */ /sbin/loader, which of course is _not_ a TASO application. */
#define SET_AOUT_PERSONALITY(BFPM, EX) \ #define SET_AOUT_PERSONALITY(BFPM, EX) \
set_personality (((BFPM->sh_bang || EX.ah.entry < 0x100000000L \ set_personality (((BFPM->taso || EX.ah.entry < 0x100000000L \
? ADDR_LIMIT_32BIT : 0) | PER_OSF4)) ? ADDR_LIMIT_32BIT : 0) | PER_OSF4))
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
......
...@@ -1189,7 +1189,7 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs) ...@@ -1189,7 +1189,7 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
return retval; return retval;
/* Remember if the application is TASO. */ /* Remember if the application is TASO. */
bprm->sh_bang = eh->ah.entry < 0x100000000UL; bprm->taso = eh->ah.entry < 0x100000000UL;
bprm->file = file; bprm->file = file;
bprm->loader = loader; bprm->loader = loader;
......
...@@ -36,6 +36,9 @@ struct linux_binprm{ ...@@ -36,6 +36,9 @@ struct linux_binprm{
unsigned long p; /* current top of mem */ unsigned long p; /* current top of mem */
unsigned int sh_bang:1, unsigned int sh_bang:1,
misc_bang:1; misc_bang:1;
#ifdef __alpha__
unsigned int taso:1;
#endif
struct file * file; struct file * file;
int e_uid, e_gid; int e_uid, e_gid;
kernel_cap_t cap_post_exec_permitted; kernel_cap_t cap_post_exec_permitted;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册