diff options
Diffstat (limited to 'include/linux/sched.h')
| -rw-r--r-- | include/linux/sched.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index caa18843e47..bd2d02c0350 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -128,10 +128,10 @@ extern void get_avenrun(unsigned long *loads, unsigned long offset, int shift); #define FSHIFT 11 /* nr of bits of precision */ #define FIXED_1 (1<<FSHIFT) /* 1.0 as fixed-point */ -#define LOAD_FREQ (5*HZ+1) /* 5 sec intervals */ -#define EXP_1 1884 /* 1/exp(5sec/1min) as fixed-point */ -#define EXP_5 2014 /* 1/exp(5sec/5min) */ -#define EXP_15 2037 /* 1/exp(5sec/15min) */ +#define LOAD_FREQ (4*HZ+61) /* 4.61 sec intervals */ +#define EXP_1 1896 /* 1/exp(4.61sec/1min) as fixed-point */ +#define EXP_5 2017 /* 1/exp(4.61sec/5min) */ +#define EXP_15 2038 /* 1/exp(4.61sec/15min) */ #define CALC_LOAD(load,exp,n) \ load *= exp; \ @@ -1362,9 +1362,6 @@ struct task_struct { * execve */ unsigned in_iowait:1; - /* task may not gain privileges */ - unsigned no_new_privs:1; - /* Revert to default priority/policy when forking */ unsigned sched_reset_on_fork:1; unsigned sched_contributes_to_load:1; @@ -1475,7 +1472,7 @@ struct task_struct { uid_t loginuid; unsigned int sessionid; #endif - seccomp_t seccomp; + struct seccomp seccomp; /* Thread group tracking */ u32 parent_exec_id; @@ -1900,6 +1897,19 @@ extern int task_free_unregister(struct notifier_block *n); static inline void task_clear_##func(struct task_struct *p) \ { clear_bit(PFA_##name, &p->atomic_flags); } +/* Per-process atomic flags. */ +#define PFA_NO_NEW_PRIVS 0x00000001 /* May not gain new privileges. */ + +static inline bool task_no_new_privs(struct task_struct *p) +{ + return test_bit(PFA_NO_NEW_PRIVS, &p->atomic_flags); +} + +static inline void task_set_no_new_privs(struct task_struct *p) +{ + set_bit(PFA_NO_NEW_PRIVS, &p->atomic_flags); +} + /* * task->jobctl flags */ |
