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, 14 insertions, 2 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h
index ff904b0606d4..1d19c025f9d2 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1185,10 +1185,9 @@ struct task_struct {
1185 pid_t pid; 1185 pid_t pid;
1186 pid_t tgid; 1186 pid_t tgid;
1187 1187
1188#ifdef CONFIG_CC_STACKPROTECTOR
1189 /* Canary value for the -fstack-protector gcc feature */ 1188 /* Canary value for the -fstack-protector gcc feature */
1190 unsigned long stack_canary; 1189 unsigned long stack_canary;
1191#endif 1190
1192 /* 1191 /*
1193 * pointers to (original) parent process, youngest child, younger sibling, 1192 * pointers to (original) parent process, youngest child, younger sibling,
1194 * older sibling, respectively. (p->father can be replaced with 1193 * older sibling, respectively. (p->father can be replaced with
@@ -2107,6 +2106,19 @@ static inline int object_is_on_stack(void *obj)
2107 2106
2108extern void thread_info_cache_init(void); 2107extern void thread_info_cache_init(void);
2109 2108
2109#ifdef CONFIG_DEBUG_STACK_USAGE
2110static inline unsigned long stack_not_used(struct task_struct *p)
2111{
2112 unsigned long *n = end_of_stack(p);
2113
2114 do { /* Skip over canary */
2115 n++;
2116 } while (!*n);
2117
2118 return (unsigned long)n - (unsigned long)end_of_stack(p);
2119}
2120#endif
2121
2110/* set thread flags in other task's structures 2122/* set thread flags in other task's structures
2111 * - see asm/thread_info.h for TIF_xxxx flags available 2123 * - see asm/thread_info.h for TIF_xxxx flags available
2112 */ 2124 */