[GIT PULL] ARM: support THREAD_INFO_IN_TASK
Kees Cook
keescook at chromium.org
Mon Oct 11 10:22:09 PDT 2021
On Sun, Oct 10, 2021 at 09:50:52AM +0200, Ard Biesheuvel wrote:
> On Mon, 27 Sept 2021 at 17:06, Ard Biesheuvel <ardb at kernel.org> wrote:
> >
> > The following changes since commit 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f:
> >
> > Linux 5.15-rc1 (2021-09-12 16:28:37 -0700)
> >
> > are available in the Git repository at:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/pr-arm32-ti-in-task
> >
> > for you to fetch changes up to 18ed1c01a7dd3d7c780b06a49124da237a4c1790:
> >
> > ARM: smp: Enable THREAD_INFO_IN_TASK (2021-09-27 16:54:02 +0200)
> >
> > ----------------------------------------------------------------
> > 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.
> >
> > ----------------------------------------------------------------
> >
>
> Ping?
As this is a prerequisite for the IRQ stack work and it's been
Reviewed/Tested-by already, I could carry this series for -next. Maybe
that would help?
-Kees
>
> > Cc: Keith Packard <keithpac at amazon.com>
> > Cc: Kees Cook <keescook at chromium.org>
> > Cc: Arnd Bergmann <arnd at arndb.de>
> > Cc: Amit Daniel Kachhap <amit.kachhap at arm.com>
> > Cc: Linus Walleij <linus.walleij at linaro.org>
> >
> > Ard Biesheuvel (4):
> > gcc-plugins: arm-ssp: Prepare for THREAD_INFO_IN_TASK support
> > ARM: smp: Free up the TLS register while running in the kernel
> > ARM: smp: Store current pointer in TPIDRURO register if available
> > ARM: smp: Enable THREAD_INFO_IN_TASK
> >
> > Keith Packard (1):
> > ARM: smp: Pass task to secondary_start_kernel
> >
> > arch/arm/Kconfig | 8 ++++-
> > arch/arm/Makefile | 9 ++---
> > arch/arm/include/asm/assembler.h | 29 ++++++++++++++++
> > arch/arm/include/asm/current.h | 50 +++++++++++++++++++++++++++
> > arch/arm/include/asm/smp.h | 3 +-
> > arch/arm/include/asm/stackprotector.h | 2 --
> > arch/arm/include/asm/switch_to.h | 16 +++++++++
> > arch/arm/include/asm/thread_info.h | 15 +++++---
> > arch/arm/include/asm/tls.h | 10 ++++--
> > arch/arm/kernel/asm-offsets.c | 6 ++--
> > arch/arm/kernel/entry-armv.S | 5 +++
> > arch/arm/kernel/entry-common.S | 1 +
> > arch/arm/kernel/entry-header.S | 8 +++++
> > arch/arm/kernel/head-common.S | 5 +++
> > arch/arm/kernel/head-nommu.S | 1 +
> > arch/arm/kernel/head.S | 5 +--
> > arch/arm/kernel/process.c | 8 ++---
> > arch/arm/kernel/smp.c | 13 +++++--
> > arch/arm/mm/proc-macros.S | 3 +-
> > scripts/gcc-plugins/arm_ssp_per_task_plugin.c | 27 ++++-----------
> > 20 files changed, 174 insertions(+), 50 deletions(-)
> > create mode 100644 arch/arm/include/asm/current.h
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Kees Cook
More information about the linux-arm-kernel
mailing list