.. | .. |
---|
| 1 | +/* SPDX-License-Identifier: GPL-2.0-only */ |
---|
1 | 2 | /* |
---|
2 | 3 | * arch/arm/include/asm/thread_info.h |
---|
3 | 4 | * |
---|
4 | 5 | * Copyright (C) 2002 Russell King. |
---|
5 | | - * |
---|
6 | | - * This program is free software; you can redistribute it and/or modify |
---|
7 | | - * it under the terms of the GNU General Public License version 2 as |
---|
8 | | - * published by the Free Software Foundation. |
---|
9 | 6 | */ |
---|
10 | 7 | #ifndef __ASM_ARM_THREAD_INFO_H |
---|
11 | 8 | #define __ASM_ARM_THREAD_INFO_H |
---|
.. | .. |
---|
53 | 50 | struct task_struct *task; /* main task structure */ |
---|
54 | 51 | __u32 cpu; /* cpu */ |
---|
55 | 52 | __u32 cpu_domain; /* cpu domain */ |
---|
| 53 | +#ifdef CONFIG_STACKPROTECTOR_PER_TASK |
---|
| 54 | + unsigned long stack_canary; |
---|
| 55 | +#endif |
---|
56 | 56 | struct cpu_context_save cpu_context; /* cpu context */ |
---|
57 | 57 | __u32 syscall; /* syscall number */ |
---|
58 | 58 | __u8 used_cp[16]; /* thread used copro */ |
---|
.. | .. |
---|
74 | 74 | .preempt_count = INIT_PREEMPT_COUNT, \ |
---|
75 | 75 | .addr_limit = KERNEL_DS, \ |
---|
76 | 76 | } |
---|
77 | | - |
---|
78 | | -/* |
---|
79 | | - * how to get the current stack pointer in C |
---|
80 | | - */ |
---|
81 | | -register unsigned long current_stack_pointer asm ("sp"); |
---|
82 | 77 | |
---|
83 | 78 | /* |
---|
84 | 79 | * how to get the thread information struct from C |
---|
.. | .. |
---|
131 | 126 | * thread information flags: |
---|
132 | 127 | * TIF_USEDFPU - FPU was used by this task this quantum (SMP) |
---|
133 | 128 | * TIF_POLLING_NRFLAG - true if poll_idle() is polling TIF_NEED_RESCHED |
---|
| 129 | + * |
---|
| 130 | + * Any bit in the range of 0..15 will cause do_work_pending() to be invoked. |
---|
134 | 131 | */ |
---|
135 | 132 | #define TIF_SIGPENDING 0 /* signal pending */ |
---|
136 | 133 | #define TIF_NEED_RESCHED 1 /* rescheduling necessary */ |
---|
.. | .. |
---|
140 | 137 | #define TIF_SYSCALL_AUDIT 5 /* syscall auditing active */ |
---|
141 | 138 | #define TIF_SYSCALL_TRACEPOINT 6 /* syscall tracepoint instrumentation */ |
---|
142 | 139 | #define TIF_SECCOMP 7 /* seccomp syscall filtering active */ |
---|
| 140 | +#define TIF_NOTIFY_SIGNAL 8 /* signal notifications exist */ |
---|
143 | 141 | |
---|
144 | | -#define TIF_NOHZ 12 /* in adaptive nohz mode */ |
---|
145 | 142 | #define TIF_USING_IWMMXT 17 |
---|
146 | 143 | #define TIF_MEMDIE 18 /* is terminating due to OOM killer */ |
---|
147 | 144 | #define TIF_RESTORE_SIGMASK 20 |
---|
.. | .. |
---|
154 | 151 | #define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT) |
---|
155 | 152 | #define _TIF_SYSCALL_TRACEPOINT (1 << TIF_SYSCALL_TRACEPOINT) |
---|
156 | 153 | #define _TIF_SECCOMP (1 << TIF_SECCOMP) |
---|
| 154 | +#define _TIF_NOTIFY_SIGNAL (1 << TIF_NOTIFY_SIGNAL) |
---|
157 | 155 | #define _TIF_USING_IWMMXT (1 << TIF_USING_IWMMXT) |
---|
158 | 156 | |
---|
159 | 157 | /* Checks for any syscall work in entry-common.S */ |
---|
.. | .. |
---|
164 | 162 | * Change these and you break ASM code in entry-common.S |
---|
165 | 163 | */ |
---|
166 | 164 | #define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \ |
---|
167 | | - _TIF_NOTIFY_RESUME | _TIF_UPROBE) |
---|
| 165 | + _TIF_NOTIFY_RESUME | _TIF_UPROBE | \ |
---|
| 166 | + _TIF_NOTIFY_SIGNAL) |
---|
168 | 167 | |
---|
169 | 168 | #endif /* __KERNEL__ */ |
---|
170 | 169 | #endif /* __ASM_ARM_THREAD_INFO_H */ |
---|