aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/arm/mm
diff options
context:
space:
mode:
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2021-10-19 10:41:57 +0100
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2021-10-19 10:41:57 +0100
commit13a695aa50de151ff9aca868c3915687771c80a5 (patch)
tree5145998327a1a3a6e48a9432a9846b2ba73f8848 /arch/arm/mm
parentLinux 5.15-rc1 (diff)
parentARM: smp: Enable THREAD_INFO_IN_TASK (diff)
downloadwireguard-linux-13a695aa50de151ff9aca868c3915687771c80a5.tar.xz
wireguard-linux-13a695aa50de151ff9aca868c3915687771c80a5.zip
Merge tag 'pr-arm32-ti-in-task' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable
ARM: support THREAD_INFO_IN_TASK Move thread_info off the stack and into the task struct, as is done by many other architectures. This requires a method to find the task struct of the task currently running on the CPU, which is provided in this case by the user space TLS (Thread Local Storage) register. This implies that the feature is only supported on CPUs that implement this register, i.e., ARM v6k or later. Kindly tested by Amit and reviewed by Linus. The first patch is against the GCC plugins subsystem, but was reviewed by the maintainer and can be taken through the ARM tree.
Diffstat (limited to 'arch/arm/mm')
-rw-r--r--arch/arm/mm/proc-macros.S3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S
index e2c743aa2eb2..d48ba99d739c 100644
--- a/arch/arm/mm/proc-macros.S
+++ b/arch/arm/mm/proc-macros.S
@@ -30,8 +30,7 @@
* act_mm - get current->active_mm
*/
.macro act_mm, rd
- get_thread_info \rd
- ldr \rd, [\rd, #TI_TASK]
+ get_current \rd
.if (TSK_ACTIVE_MM > IMM12_MASK)
add \rd, \rd, #TSK_ACTIVE_MM & ~IMM12_MASK
.endif