aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/sched.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r--include/linux/sched.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 393ce94e54b7..be7adb7588e5 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -626,6 +626,10 @@ struct signal_struct {
626 626
627 int oom_adj; /* OOM kill score adjustment (bit shift) */ 627 int oom_adj; /* OOM kill score adjustment (bit shift) */
628 int oom_score_adj; /* OOM kill score adjustment */ 628 int oom_score_adj; /* OOM kill score adjustment */
629
630 struct mutex cred_guard_mutex; /* guard against foreign influences on
631 * credential calculations
632 * (notably. ptrace) */
629}; 633};
630 634
631/* Context switch must be unlocked if interrupts are to be enabled */ 635/* Context switch must be unlocked if interrupts are to be enabled */
@@ -1305,9 +1309,6 @@ struct task_struct {
1305 * credentials (COW) */ 1309 * credentials (COW) */
1306 const struct cred __rcu *cred; /* effective (overridable) subjective task 1310 const struct cred __rcu *cred; /* effective (overridable) subjective task
1307 * credentials (COW) */ 1311 * credentials (COW) */
1308 struct mutex cred_guard_mutex; /* guard against foreign influences on
1309 * credential calculations
1310 * (notably. ptrace) */
1311 struct cred *replacement_session_keyring; /* for KEYCTL_SESSION_TO_PARENT */ 1312 struct cred *replacement_session_keyring; /* for KEYCTL_SESSION_TO_PARENT */
1312 1313
1313 char comm[TASK_COMM_LEN]; /* executable name excluding path 1314 char comm[TASK_COMM_LEN]; /* executable name excluding path
@@ -2236,9 +2237,16 @@ static inline void task_unlock(struct task_struct *p)
2236 spin_unlock(&p->alloc_lock); 2237 spin_unlock(&p->alloc_lock);
2237} 2238}
2238 2239
2239extern struct sighand_struct *lock_task_sighand(struct task_struct *tsk, 2240extern struct sighand_struct *__lock_task_sighand(struct task_struct *tsk,
2240 unsigned long *flags); 2241 unsigned long *flags);
2241 2242
2243#define lock_task_sighand(tsk, flags) \
2244({ struct sighand_struct *__ss; \
2245 __cond_lock(&(tsk)->sighand->siglock, \
2246 (__ss = __lock_task_sighand(tsk, flags))); \
2247 __ss; \
2248}) \
2249
2242static inline void unlock_task_sighand(struct task_struct *tsk, 2250static inline void unlock_task_sighand(struct task_struct *tsk,
2243 unsigned long *flags) 2251 unsigned long *flags)
2244{ 2252{