]>
git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blob - include/linux/stackleak.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_STACKLEAK_H
3 #define _LINUX_STACKLEAK_H
5 #include <linux/sched.h>
6 #include <linux/sched/task_stack.h>
9 * Check that the poison value points to the unused hole in the
10 * virtual memory map for your platform.
12 #define STACKLEAK_POISON -0xBEEF
13 #define STACKLEAK_SEARCH_DEPTH 128
15 #ifdef CONFIG_GCC_PLUGIN_STACKLEAK
16 #include <asm/stacktrace.h>
18 static inline void stackleak_task_init(struct task_struct
*t
)
20 t
->lowest_stack
= (unsigned long)end_of_stack(t
) + sizeof(unsigned long);
21 # ifdef CONFIG_STACKLEAK_METRICS
22 t
->prev_lowest_stack
= t
->lowest_stack
;
26 #ifdef CONFIG_STACKLEAK_RUNTIME_DISABLE
27 int stack_erasing_sysctl(struct ctl_table
*table
, int write
,
28 void *buffer
, size_t *lenp
, loff_t
*ppos
);
31 #else /* !CONFIG_GCC_PLUGIN_STACKLEAK */
32 static inline void stackleak_task_init(struct task_struct
*t
) { }