aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/binfmts.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/binfmts.h')
-rw-r--r--include/linux/binfmts.h19
1 files changed, 12 insertions, 7 deletions
diff --git a/include/linux/binfmts.h b/include/linux/binfmts.h
index 7394b5b349ff..77b4a9e46004 100644
--- a/include/linux/binfmts.h
+++ b/include/linux/binfmts.h
@@ -18,6 +18,7 @@ struct pt_regs;
18#define BINPRM_BUF_SIZE 128 18#define BINPRM_BUF_SIZE 128
19 19
20#ifdef __KERNEL__ 20#ifdef __KERNEL__
21#include <linux/list.h>
21 22
22#define CORENAME_MAX_SIZE 128 23#define CORENAME_MAX_SIZE 128
23 24
@@ -35,16 +36,20 @@ struct linux_binprm{
35 struct mm_struct *mm; 36 struct mm_struct *mm;
36 unsigned long p; /* current top of mem */ 37 unsigned long p; /* current top of mem */
37 unsigned int sh_bang:1, 38 unsigned int sh_bang:1,
38 misc_bang:1; 39 misc_bang:1,
40 cred_prepared:1,/* true if creds already prepared (multiple
41 * preps happen for interpreters) */
42 cap_effective:1;/* true if has elevated effective capabilities,
43 * false if not; except for init which inherits
44 * its parent's caps anyway */
39#ifdef __alpha__ 45#ifdef __alpha__
40 unsigned int taso:1; 46 unsigned int taso:1;
41#endif 47#endif
42 unsigned int recursion_depth; 48 unsigned int recursion_depth;
43 struct file * file; 49 struct file * file;
44 int e_uid, e_gid; 50 struct cred *cred; /* new credentials */
45 kernel_cap_t cap_post_exec_permitted; 51 int unsafe; /* how unsafe this exec is (mask of LSM_UNSAFE_*) */
46 bool cap_effective; 52 unsigned int per_clear; /* bits to clear in current->personality */
47 void *security;
48 int argc, envc; 53 int argc, envc;
49 char * filename; /* Name of binary as seen by procps */ 54 char * filename; /* Name of binary as seen by procps */
50 char * interp; /* Name of the binary really executed. Most 55 char * interp; /* Name of the binary really executed. Most
@@ -101,8 +106,8 @@ extern int setup_arg_pages(struct linux_binprm * bprm,
101 int executable_stack); 106 int executable_stack);
102extern int bprm_mm_init(struct linux_binprm *bprm); 107extern int bprm_mm_init(struct linux_binprm *bprm);
103extern int copy_strings_kernel(int argc,char ** argv,struct linux_binprm *bprm); 108extern int copy_strings_kernel(int argc,char ** argv,struct linux_binprm *bprm);
104extern void compute_creds(struct linux_binprm *binprm); 109extern void install_exec_creds(struct linux_binprm *bprm);
105extern int do_coredump(long signr, int exit_code, struct pt_regs * regs); 110extern void do_coredump(long signr, int exit_code, struct pt_regs *regs);
106extern int set_binfmt(struct linux_binfmt *new); 111extern int set_binfmt(struct linux_binfmt *new);
107extern void free_bprm(struct linux_binprm *); 112extern void free_bprm(struct linux_binprm *);
108 113