All of lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] ARM: support THREAD_INFO_IN_TASK
@ 2021-09-27 15:04 Ard Biesheuvel
  2021-10-10  7:50 ` Ard Biesheuvel
  0 siblings, 1 reply; 5+ messages in thread
From: Ard Biesheuvel @ 2021-09-27 15:04 UTC (permalink / raw)
  To: linux-arm-kernel, linux+pull
  Cc: Keith Packard, Kees Cook, Arnd Bergmann, Amit Daniel Kachhap,
	Linus Walleij

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.

----------------------------------------------------------------

Cc: Keith Packard <keithpac@amazon.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Amit Daniel Kachhap <amit.kachhap@arm.com>
Cc: Linus Walleij <linus.walleij@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@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] ARM: support THREAD_INFO_IN_TASK
  2021-09-27 15:04 [GIT PULL] ARM: support THREAD_INFO_IN_TASK Ard Biesheuvel
@ 2021-10-10  7:50 ` Ard Biesheuvel
  2021-10-11 17:22   ` Kees Cook
  2021-10-14 15:47   ` Russell King (Oracle)
  0 siblings, 2 replies; 5+ messages in thread
From: Ard Biesheuvel @ 2021-10-10  7:50 UTC (permalink / raw)
  To: Linux ARM, Russell King
  Cc: Keith Packard, Kees Cook, Arnd Bergmann, Amit Daniel Kachhap,
	Linus Walleij

On Mon, 27 Sept 2021 at 17:06, Ard Biesheuvel <ardb@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?

> Cc: Keith Packard <keithpac@amazon.com>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Amit Daniel Kachhap <amit.kachhap@arm.com>
> Cc: Linus Walleij <linus.walleij@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@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] ARM: support THREAD_INFO_IN_TASK
  2021-10-10  7:50 ` Ard Biesheuvel
@ 2021-10-11 17:22   ` Kees Cook
  2021-10-14 15:47   ` Russell King (Oracle)
  1 sibling, 0 replies; 5+ messages in thread
From: Kees Cook @ 2021-10-11 17:22 UTC (permalink / raw)
  To: Ard Biesheuvel, Russell King
  Cc: Linux ARM, Keith Packard, Arnd Bergmann, Amit Daniel Kachhap,
	Linus Walleij

On Sun, Oct 10, 2021 at 09:50:52AM +0200, Ard Biesheuvel wrote:
> On Mon, 27 Sept 2021 at 17:06, Ard Biesheuvel <ardb@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@amazon.com>
> > Cc: Kees Cook <keescook@chromium.org>
> > Cc: Arnd Bergmann <arnd@arndb.de>
> > Cc: Amit Daniel Kachhap <amit.kachhap@arm.com>
> > Cc: Linus Walleij <linus.walleij@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@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

-- 
Kees Cook

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] ARM: support THREAD_INFO_IN_TASK
  2021-10-10  7:50 ` Ard Biesheuvel
  2021-10-11 17:22   ` Kees Cook
@ 2021-10-14 15:47   ` Russell King (Oracle)
  2021-10-14 16:24     ` Kees Cook
  1 sibling, 1 reply; 5+ messages in thread
From: Russell King (Oracle) @ 2021-10-14 15:47 UTC (permalink / raw)
  To: Ard Biesheuvel
  Cc: Linux ARM, Keith Packard, Kees Cook, Arnd Bergmann,
	Amit Daniel Kachhap, Linus Walleij

On Sun, Oct 10, 2021 at 09:50:52AM +0200, Ard Biesheuvel wrote:
> On Mon, 27 Sept 2021 at 17:06, Ard Biesheuvel <ardb@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?

I haven't forgotten about it, I just haven't really opened my tree for
new material yet... which I need to do this week, if I have time after
catching up.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] ARM: support THREAD_INFO_IN_TASK
  2021-10-14 15:47   ` Russell King (Oracle)
@ 2021-10-14 16:24     ` Kees Cook
  0 siblings, 0 replies; 5+ messages in thread
From: Kees Cook @ 2021-10-14 16:24 UTC (permalink / raw)
  To: Russell King (Oracle)
  Cc: Ard Biesheuvel, Linux ARM, Keith Packard, Arnd Bergmann,
	Amit Daniel Kachhap, Linus Walleij

On Thu, Oct 14, 2021 at 04:47:26PM +0100, Russell King (Oracle) wrote:
> On Sun, Oct 10, 2021 at 09:50:52AM +0200, Ard Biesheuvel wrote:
> > On Mon, 27 Sept 2021 at 17:06, Ard Biesheuvel <ardb@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?
> 
> I haven't forgotten about it, I just haven't really opened my tree for
> new material yet... which I need to do this week, if I have time after
> catching up.

Thanks! Getting this into -next would help with the irq series and vmap
stack series too.

-- 
Kees Cook

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-10-14 16:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-27 15:04 [GIT PULL] ARM: support THREAD_INFO_IN_TASK Ard Biesheuvel
2021-10-10  7:50 ` Ard Biesheuvel
2021-10-11 17:22   ` Kees Cook
2021-10-14 15:47   ` Russell King (Oracle)
2021-10-14 16:24     ` Kees Cook

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.