linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder
@ 2022-02-14 14:37 Ard Biesheuvel
  2022-02-28 12:46 ` Ard Biesheuvel
  0 siblings, 1 reply; 6+ messages in thread
From: Ard Biesheuvel @ 2022-02-14 14:37 UTC (permalink / raw)
  To: linux+pull; +Cc: linux-arm-kernel, Ard Biesheuvel

The following changes since commit 2fa3948244939471bfc93fa2f7cf3a1aadf79822:

  Merge tag 'arm-vmap-stacks-v6' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable (2022-01-31 15:26:45 +0000)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-ftrace-for-rmk

for you to fetch changes up to d6800ca73a7d325627c045c16d7cfdc7465f4333:

  Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel" (2022-02-10 09:55:05 +0100)

PRv2: use rmk's current devel-stable as the start commit

----------------------------------------------------------------
ARM: ftrace fixes and cleanups

Make all flavors of ftrace available on all builds, regardless of ISA
choice, unwinder choice or compiler:
- use ADD not POP where possible
- fix a couple of Thumb2 related issues
- enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
- enable the graph tracer with the EABI unwinder
- avoid clobbering frame pointer registers to make Clang happy

Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/

----------------------------------------------------------------
Ard Biesheuvel (12):
      ARM: ftrace: ensure that ADR takes the Thumb bit into account
      ARM: ftrace: use ADD not POP to counter PUSH at entry
      ARM: ftrace: use trampolines to keep .init.text in branching range
      ARM: ftrace: avoid redundant loads or clobbering IP
      ARM: ftrace: avoid unnecessary literal loads
      ARM: ftrace: enable HAVE_FUNCTION_GRAPH_FP_TEST
      ARM: unwind: track location of LR value in stack frame
      ARM: ftrace: enable the graph tracer with the EABI unwinder
      ARM: kprobes: treat R7 as the frame pointer register in Thumb2 builds
      ARM: cacheflush: avoid clobbering the frame pointer
      ARM: mach-bcm: disable ftrace in SMC invocation routines
      Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel"

 arch/arm/Kconfig                         |   4 +-
 arch/arm/Kconfig.debug                   |   2 +-
 arch/arm/include/asm/cacheflush.h        |  12 +--
 arch/arm/include/asm/ftrace.h            |  20 +----
 arch/arm/include/asm/stacktrace.h        |   3 +
 arch/arm/kernel/Makefile                 |   6 +-
 arch/arm/kernel/entry-ftrace.S           | 128 +++++++++++++++++--------------
 arch/arm/kernel/ftrace.c                 |  62 +++++++++++++--
 arch/arm/kernel/unwind.c                 |   7 +-
 arch/arm/mach-bcm/Makefile               |   1 +
 arch/arm/mach-exynos/mcpm-exynos.c       |   6 +-
 arch/arm/mm/cache-v7.S                   |  40 +++++-----
 arch/arm/probes/kprobes/actions-common.c |   8 +-
 arch/arm/probes/kprobes/actions-thumb.c  |  16 +++-
 14 files changed, 182 insertions(+), 133 deletions(-)

_______________________________________________
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] 6+ messages in thread

* Re: [GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder
  2022-02-14 14:37 [GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder Ard Biesheuvel
@ 2022-02-28 12:46 ` Ard Biesheuvel
  2022-02-28 14:07   ` Russell King (Oracle)
  0 siblings, 1 reply; 6+ messages in thread
From: Ard Biesheuvel @ 2022-02-28 12:46 UTC (permalink / raw)
  To: Russell King; +Cc: Linux ARM

On Mon, 14 Feb 2022 at 15:37, Ard Biesheuvel <ardb@kernel.org> wrote:
>
> The following changes since commit 2fa3948244939471bfc93fa2f7cf3a1aadf79822:
>
>   Merge tag 'arm-vmap-stacks-v6' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable (2022-01-31 15:26:45 +0000)
>
> are available in the Git repository at:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-ftrace-for-rmk
>
> for you to fetch changes up to d6800ca73a7d325627c045c16d7cfdc7465f4333:
>
>   Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel" (2022-02-10 09:55:05 +0100)
>
> PRv2: use rmk's current devel-stable as the start commit
>
> ----------------------------------------------------------------
> ARM: ftrace fixes and cleanups
>
> Make all flavors of ftrace available on all builds, regardless of ISA
> choice, unwinder choice or compiler:
> - use ADD not POP where possible
> - fix a couple of Thumb2 related issues
> - enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
> - enable the graph tracer with the EABI unwinder
> - avoid clobbering frame pointer registers to make Clang happy
>
> Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
>
> ----------------------------------------------------------------
> Ard Biesheuvel (12):
>       ARM: ftrace: ensure that ADR takes the Thumb bit into account
>       ARM: ftrace: use ADD not POP to counter PUSH at entry
>       ARM: ftrace: use trampolines to keep .init.text in branching range
>       ARM: ftrace: avoid redundant loads or clobbering IP
>       ARM: ftrace: avoid unnecessary literal loads
>       ARM: ftrace: enable HAVE_FUNCTION_GRAPH_FP_TEST
>       ARM: unwind: track location of LR value in stack frame
>       ARM: ftrace: enable the graph tracer with the EABI unwinder
>       ARM: kprobes: treat R7 as the frame pointer register in Thumb2 builds
>       ARM: cacheflush: avoid clobbering the frame pointer
>       ARM: mach-bcm: disable ftrace in SMC invocation routines
>       Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel"
>
>  arch/arm/Kconfig                         |   4 +-
>  arch/arm/Kconfig.debug                   |   2 +-
>  arch/arm/include/asm/cacheflush.h        |  12 +--
>  arch/arm/include/asm/ftrace.h            |  20 +----
>  arch/arm/include/asm/stacktrace.h        |   3 +
>  arch/arm/kernel/Makefile                 |   6 +-
>  arch/arm/kernel/entry-ftrace.S           | 128 +++++++++++++++++--------------
>  arch/arm/kernel/ftrace.c                 |  62 +++++++++++++--
>  arch/arm/kernel/unwind.c                 |   7 +-
>  arch/arm/mach-bcm/Makefile               |   1 +
>  arch/arm/mach-exynos/mcpm-exynos.c       |   6 +-
>  arch/arm/mm/cache-v7.S                   |  40 +++++-----
>  arch/arm/probes/kprobes/actions-common.c |   8 +-
>  arch/arm/probes/kprobes/actions-thumb.c  |  16 +++-
>  14 files changed, 182 insertions(+), 133 deletions(-)

Ping?

_______________________________________________
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] 6+ messages in thread

* Re: [GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder
  2022-02-28 12:46 ` Ard Biesheuvel
@ 2022-02-28 14:07   ` Russell King (Oracle)
  2022-02-28 14:11     ` Ard Biesheuvel
  0 siblings, 1 reply; 6+ messages in thread
From: Russell King (Oracle) @ 2022-02-28 14:07 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: Linux ARM

On Mon, Feb 28, 2022 at 01:46:26PM +0100, Ard Biesheuvel wrote:
> On Mon, 14 Feb 2022 at 15:37, Ard Biesheuvel <ardb@kernel.org> wrote:
> >
> > The following changes since commit 2fa3948244939471bfc93fa2f7cf3a1aadf79822:
> >
> >   Merge tag 'arm-vmap-stacks-v6' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable (2022-01-31 15:26:45 +0000)
> >
> > are available in the Git repository at:
> >
> >   git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-ftrace-for-rmk
> >
> > for you to fetch changes up to d6800ca73a7d325627c045c16d7cfdc7465f4333:
> >
> >   Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel" (2022-02-10 09:55:05 +0100)
> >
> > PRv2: use rmk's current devel-stable as the start commit
> >
> > ----------------------------------------------------------------
> > ARM: ftrace fixes and cleanups
> >
> > Make all flavors of ftrace available on all builds, regardless of ISA
> > choice, unwinder choice or compiler:
> > - use ADD not POP where possible
> > - fix a couple of Thumb2 related issues
> > - enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
> > - enable the graph tracer with the EABI unwinder
> > - avoid clobbering frame pointer registers to make Clang happy
> >
> > Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
> >
> > ----------------------------------------------------------------
> > Ard Biesheuvel (12):
> >       ARM: ftrace: ensure that ADR takes the Thumb bit into account
> >       ARM: ftrace: use ADD not POP to counter PUSH at entry
> >       ARM: ftrace: use trampolines to keep .init.text in branching range
> >       ARM: ftrace: avoid redundant loads or clobbering IP
> >       ARM: ftrace: avoid unnecessary literal loads
> >       ARM: ftrace: enable HAVE_FUNCTION_GRAPH_FP_TEST
> >       ARM: unwind: track location of LR value in stack frame
> >       ARM: ftrace: enable the graph tracer with the EABI unwinder
> >       ARM: kprobes: treat R7 as the frame pointer register in Thumb2 builds
> >       ARM: cacheflush: avoid clobbering the frame pointer
> >       ARM: mach-bcm: disable ftrace in SMC invocation routines
> >       Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel"
> >
> >  arch/arm/Kconfig                         |   4 +-
> >  arch/arm/Kconfig.debug                   |   2 +-
> >  arch/arm/include/asm/cacheflush.h        |  12 +--
> >  arch/arm/include/asm/ftrace.h            |  20 +----
> >  arch/arm/include/asm/stacktrace.h        |   3 +
> >  arch/arm/kernel/Makefile                 |   6 +-
> >  arch/arm/kernel/entry-ftrace.S           | 128 +++++++++++++++++--------------
> >  arch/arm/kernel/ftrace.c                 |  62 +++++++++++++--
> >  arch/arm/kernel/unwind.c                 |   7 +-
> >  arch/arm/mach-bcm/Makefile               |   1 +
> >  arch/arm/mach-exynos/mcpm-exynos.c       |   6 +-
> >  arch/arm/mm/cache-v7.S                   |  40 +++++-----
> >  arch/arm/probes/kprobes/actions-common.c |   8 +-
> >  arch/arm/probes/kprobes/actions-thumb.c  |  16 +++-
> >  14 files changed, 182 insertions(+), 133 deletions(-)
> 
> Ping?

Unsurprisingly, this increases the amount of conflicts (both
arch/arm/Kconfig* files) when merging it with v5.17-rc1.

-- 
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] 6+ messages in thread

* Re: [GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder
  2022-02-28 14:07   ` Russell King (Oracle)
@ 2022-02-28 14:11     ` Ard Biesheuvel
  2022-02-28 14:16       ` Russell King (Oracle)
  0 siblings, 1 reply; 6+ messages in thread
From: Ard Biesheuvel @ 2022-02-28 14:11 UTC (permalink / raw)
  To: Russell King (Oracle); +Cc: Linux ARM

On Mon, 28 Feb 2022 at 15:07, Russell King (Oracle)
<linux@armlinux.org.uk> wrote:
>
> On Mon, Feb 28, 2022 at 01:46:26PM +0100, Ard Biesheuvel wrote:
> > On Mon, 14 Feb 2022 at 15:37, Ard Biesheuvel <ardb@kernel.org> wrote:
> > >
> > > The following changes since commit 2fa3948244939471bfc93fa2f7cf3a1aadf79822:
> > >
> > >   Merge tag 'arm-vmap-stacks-v6' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable (2022-01-31 15:26:45 +0000)
> > >
> > > are available in the Git repository at:
> > >
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git tags/arm-ftrace-for-rmk
> > >
> > > for you to fetch changes up to d6800ca73a7d325627c045c16d7cfdc7465f4333:
> > >
> > >   Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel" (2022-02-10 09:55:05 +0100)
> > >
> > > PRv2: use rmk's current devel-stable as the start commit
> > >
> > > ----------------------------------------------------------------
> > > ARM: ftrace fixes and cleanups
> > >
> > > Make all flavors of ftrace available on all builds, regardless of ISA
> > > choice, unwinder choice or compiler:
> > > - use ADD not POP where possible
> > > - fix a couple of Thumb2 related issues
> > > - enable HAVE_FUNCTION_GRAPH_FP_TEST for robustness
> > > - enable the graph tracer with the EABI unwinder
> > > - avoid clobbering frame pointer registers to make Clang happy
> > >
> > > Link: https://lore.kernel.org/linux-arm-kernel/20220203082204.1176734-1-ardb@kernel.org/
> > >
> > > ----------------------------------------------------------------
> > > Ard Biesheuvel (12):
> > >       ARM: ftrace: ensure that ADR takes the Thumb bit into account
> > >       ARM: ftrace: use ADD not POP to counter PUSH at entry
> > >       ARM: ftrace: use trampolines to keep .init.text in branching range
> > >       ARM: ftrace: avoid redundant loads or clobbering IP
> > >       ARM: ftrace: avoid unnecessary literal loads
> > >       ARM: ftrace: enable HAVE_FUNCTION_GRAPH_FP_TEST
> > >       ARM: unwind: track location of LR value in stack frame
> > >       ARM: ftrace: enable the graph tracer with the EABI unwinder
> > >       ARM: kprobes: treat R7 as the frame pointer register in Thumb2 builds
> > >       ARM: cacheflush: avoid clobbering the frame pointer
> > >       ARM: mach-bcm: disable ftrace in SMC invocation routines
> > >       Revert "ARM: 9144/1: forbid ftrace with clang and thumb2_kernel"
> > >
> > >  arch/arm/Kconfig                         |   4 +-
> > >  arch/arm/Kconfig.debug                   |   2 +-
> > >  arch/arm/include/asm/cacheflush.h        |  12 +--
> > >  arch/arm/include/asm/ftrace.h            |  20 +----
> > >  arch/arm/include/asm/stacktrace.h        |   3 +
> > >  arch/arm/kernel/Makefile                 |   6 +-
> > >  arch/arm/kernel/entry-ftrace.S           | 128 +++++++++++++++++--------------
> > >  arch/arm/kernel/ftrace.c                 |  62 +++++++++++++--
> > >  arch/arm/kernel/unwind.c                 |   7 +-
> > >  arch/arm/mach-bcm/Makefile               |   1 +
> > >  arch/arm/mach-exynos/mcpm-exynos.c       |   6 +-
> > >  arch/arm/mm/cache-v7.S                   |  40 +++++-----
> > >  arch/arm/probes/kprobes/actions-common.c |   8 +-
> > >  arch/arm/probes/kprobes/actions-thumb.c  |  16 +++-
> > >  14 files changed, 182 insertions(+), 133 deletions(-)
> >
> > Ping?
>
> Unsurprisingly, this increases the amount of conflicts (both
> arch/arm/Kconfig* files) when merging it with v5.17-rc1.
>

Right, that does not surprise me either.

Does this mean this needs to wait for v5.19? Not the end of the world,
but not great either ...

_______________________________________________
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] 6+ messages in thread

* Re: [GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder
  2022-02-28 14:11     ` Ard Biesheuvel
@ 2022-02-28 14:16       ` Russell King (Oracle)
  2022-02-28 14:23         ` Ard Biesheuvel
  0 siblings, 1 reply; 6+ messages in thread
From: Russell King (Oracle) @ 2022-02-28 14:16 UTC (permalink / raw)
  To: Ard Biesheuvel; +Cc: Linux ARM

On Mon, Feb 28, 2022 at 03:11:31PM +0100, Ard Biesheuvel wrote:
> On Mon, 28 Feb 2022 at 15:07, Russell King (Oracle)
> <linux@armlinux.org.uk> wrote:
> > Unsurprisingly, this increases the amount of conflicts (both
> > arch/arm/Kconfig* files) when merging it with v5.17-rc1.
> 
> Right, that does not surprise me either.
> 
> Does this mean this needs to wait for v5.19?

No, I've merged it now, just noting the additional conflicts, and
through the power of git rerere...

-- 
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] 6+ messages in thread

* Re: [GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder
  2022-02-28 14:16       ` Russell King (Oracle)
@ 2022-02-28 14:23         ` Ard Biesheuvel
  0 siblings, 0 replies; 6+ messages in thread
From: Ard Biesheuvel @ 2022-02-28 14:23 UTC (permalink / raw)
  To: Russell King (Oracle); +Cc: Linux ARM

On Mon, 28 Feb 2022 at 15:16, Russell King (Oracle)
<linux@armlinux.org.uk> wrote:
>
> On Mon, Feb 28, 2022 at 03:11:31PM +0100, Ard Biesheuvel wrote:
> > On Mon, 28 Feb 2022 at 15:07, Russell King (Oracle)
> > <linux@armlinux.org.uk> wrote:
> > > Unsurprisingly, this increases the amount of conflicts (both
> > > arch/arm/Kconfig* files) when merging it with v5.17-rc1.
> >
> > Right, that does not surprise me either.
> >
> > Does this mean this needs to wait for v5.19?
>
> No, I've merged it now, just noting the additional conflicts, and
> through the power of git rerere...
>

Excellent, thanks.

_______________________________________________
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] 6+ messages in thread

end of thread, other threads:[~2022-02-28 14:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-14 14:37 [GIT PULL v2] ARM ftrace fixes for Thumb2, Clang and the EABI unwinder Ard Biesheuvel
2022-02-28 12:46 ` Ard Biesheuvel
2022-02-28 14:07   ` Russell King (Oracle)
2022-02-28 14:11     ` Ard Biesheuvel
2022-02-28 14:16       ` Russell King (Oracle)
2022-02-28 14:23         ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).