summaryrefslogtreecommitdiff
path: root/include/linux/sched/task_stack.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/sched/task_stack.h')
-rw-r--r--include/linux/sched/task_stack.h19
1 files changed, 4 insertions, 15 deletions
diff --git a/include/linux/sched/task_stack.h b/include/linux/sched/task_stack.h
index d2117e1c8fa5..6c2fef89a4fd 100644
--- a/include/linux/sched/task_stack.h
+++ b/include/linux/sched/task_stack.h
@@ -8,6 +8,7 @@
#include <linux/sched.h>
#include <linux/magic.h>
+#include <linux/refcount.h>
#include <linux/kasan.h>
#ifdef CONFIG_THREAD_INFO_IN_TASK
@@ -96,23 +97,11 @@ static inline int object_is_on_stack(const void *obj)
extern void thread_stack_cache_init(void);
#ifdef CONFIG_DEBUG_STACK_USAGE
+unsigned long stack_not_used(struct task_struct *p);
+#else
static inline unsigned long stack_not_used(struct task_struct *p)
{
- unsigned long *n = end_of_stack(p);
-
- do { /* Skip over canary */
-# ifdef CONFIG_STACK_GROWSUP
- n--;
-# else
- n++;
-# endif
- } while (!*n);
-
-# ifdef CONFIG_STACK_GROWSUP
- return (unsigned long)end_of_stack(p) - (unsigned long)n;
-# else
- return (unsigned long)n - (unsigned long)end_of_stack(p);
-# endif
+ return 0;
}
#endif
extern void set_task_stack_end_magic(struct task_struct *tsk);