@@ -, +, @@ grow both ways) --- include/linux/sched/task_stack.h | 3 +-- kernel/fork.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) --- a/include/linux/sched/task_stack.h +++ a/include/linux/sched/task_stack.h @@ -75,8 +75,7 @@ static inline void *try_get_task_stack(struct task_struct *tsk) static inline void put_task_stack(struct task_struct *tsk) {} #endif -#define task_stack_end_corrupted(task) \ - (*(end_of_stack(task)) != STACK_END_MAGIC) +#define task_stack_end_corrupted(task) 0 static inline int object_is_on_stack(const void *obj) { --- a/kernel/fork.c +++ a/kernel/fork.c @@ -856,7 +856,7 @@ void set_task_stack_end_magic(struct task_struct *tsk) unsigned long *stackend; stackend = end_of_stack(tsk); - *stackend = STACK_END_MAGIC; /* for overflow detection */ + //*stackend = STACK_END_MAGIC; /* for overflow detection */ } static struct task_struct *dup_task_struct(struct task_struct *orig, int node) --