linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/12] unwind_deferred: Implement sframe handling
@ 2025-04-24 20:15 Steven Rostedt
  2025-04-24 20:15 ` [PATCH v5 01/12] unwind_user/sframe: Add support for reading .sframe headers Steven Rostedt
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Steven Rostedt @ 2025-04-24 20:15 UTC (permalink / raw)
  To: linux-kernel, linux-trace-kernel
  Cc: Masami Hiramatsu, Mark Rutland, Mathieu Desnoyers, Andrew Morton,
	Josh Poimboeuf, x86, Peter Zijlstra, Ingo Molnar,
	Arnaldo Carvalho de Melo, Indu Bhagat, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, Ian Rogers, Adrian Hunter,
	linux-perf-users, Mark Brown, linux-toolchains, Jordan Rome,
	Sam James, Andrii Nakryiko, Jens Remus, Florian Weimer,
	Andy Lutomirski, Weinan Liu, Blake Jones, Beau Belgrave,
	Jose E. Marchesi, Alexander Aring


I'm currently working on getting sframe support from the kernel.
Josh Poimboeuf did a lot of the hard work already, but he told me he doesn't
have time to continue it so I'm picking it up where he left off.

His last series of v4 is here:

  https://lore.kernel.org/all/cover.1737511963.git.jpoimboe@kernel.org/

It covers a lot of topics as he found issues with other aspects of
the kernel that needed to be fixed for sframes to work properly.

This adds the support for sframes to the deferred unwinder. It is based
on top of this series:

  https://lore.kernel.org/all/20250424192456.851953422@goodmis.org/

This series is the last of the work that Josh had done in v4.
Note, I did not address the comments that were made in the previous series.
I'm posting this so that others may have something to work from that is
based on the deferred unwinder code of the other series. This series is
specific for sframe decoding itself and can be worked on separately from the
other series.

Hopefully someone that understands the sframe specification better than
I do can continue this work. I'm only posting this so that there's
something others can start with.

Where there were discussions done on patches in v4, I left a Link:
tag in the change log so that it is easy to go back and see what was
discussed, as this series did not make an attempt to resolve those
discussions.

I'll be working on the other three series in trying to get them ready
for submission. Those series are:

 vdso: https://lore.kernel.org/all/20250422183439.895236512@goodmis.org/
 [ Which is a separate work that is not directly needed by the other serise ]

 perf: https://lore.kernel.org/all/20250424162529.686762589@goodmis.org/

 tracing: https://lore.kernel.org/all/20250424192456.851953422@goodmis.org/
 [ This is based on top of the perf series ]

Again, this series is based on the tracing series.

Hopefully someone can help me and work on this series ;-)

Cheers!

Josh Poimboeuf (12):
      unwind_user/sframe: Add support for reading .sframe headers
      unwind_user/sframe: Store sframe section data in per-mm maple tree
      x86/uaccess: Add unsafe_copy_from_user() implementation
      unwind_user/sframe: Add support for reading .sframe contents
      unwind_user/sframe: Detect .sframe sections in executables
      unwind_user/sframe: Add prctl() interface for registering .sframe sections
      unwind_user/sframe: Wire up unwind_user to sframe
      unwind_user/sframe/x86: Enable sframe unwinding on x86
      unwind_user/sframe: Remove .sframe section on detected corruption
      unwind_user/sframe: Show file name in debug output
      unwind_user/sframe: Enable debugging in uaccess regions
      unwind_user/sframe: Add .sframe validation option

----
 MAINTAINERS                       |   1 +
 arch/Kconfig                      |  23 ++
 arch/x86/Kconfig                  |   1 +
 arch/x86/include/asm/mmu.h        |   2 +-
 arch/x86/include/asm/uaccess.h    |  39 ++-
 fs/binfmt_elf.c                   |  49 +++-
 include/linux/mm_types.h          |   3 +
 include/linux/sframe.h            |  60 ++++
 include/linux/unwind_user_types.h |   1 +
 include/uapi/linux/elf.h          |   1 +
 include/uapi/linux/prctl.h        |   5 +-
 kernel/fork.c                     |  10 +
 kernel/sys.c                      |   9 +
 kernel/unwind/Makefile            |   1 +
 kernel/unwind/sframe.c            | 596 ++++++++++++++++++++++++++++++++++++++
 kernel/unwind/sframe.h            |  71 +++++
 kernel/unwind/sframe_debug.h      |  99 +++++++
 kernel/unwind/user.c              |  22 +-
 mm/init-mm.c                      |   2 +
 19 files changed, 977 insertions(+), 18 deletions(-)
 create mode 100644 include/linux/sframe.h
 create mode 100644 kernel/unwind/sframe.c
 create mode 100644 kernel/unwind/sframe.h
 create mode 100644 kernel/unwind/sframe_debug.h

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

end of thread, other threads:[~2025-05-28 10:27 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-24 20:15 [PATCH v5 00/12] unwind_deferred: Implement sframe handling Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 01/12] unwind_user/sframe: Add support for reading .sframe headers Steven Rostedt
2025-05-28 10:26   ` [PATCH] fixup! unwind_user/sframe: Add support for reading .sframe contents Jens Remus
2025-04-24 20:15 ` [PATCH v5 02/12] unwind_user/sframe: Store sframe section data in per-mm maple tree Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 03/12] x86/uaccess: Add unsafe_copy_from_user() implementation Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 04/12] unwind_user/sframe: Add support for reading .sframe contents Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 05/12] unwind_user/sframe: Detect .sframe sections in executables Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 06/12] unwind_user/sframe: Add prctl() interface for registering .sframe sections Steven Rostedt
2025-04-28  9:00   ` Jens Remus
2025-04-24 20:15 ` [PATCH v5 07/12] unwind_user/sframe: Wire up unwind_user to sframe Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 08/12] unwind_user/sframe/x86: Enable sframe unwinding on x86 Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 09/12] unwind_user/sframe: Remove .sframe section on detected corruption Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 10/12] unwind_user/sframe: Show file name in debug output Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 11/12] unwind_user/sframe: Enable debugging in uaccess regions Steven Rostedt
2025-04-24 20:15 ` [PATCH v5 12/12] unwind_user/sframe: Add .sframe validation option Steven Rostedt
2025-04-24 20:28 ` [PATCH v5 00/12] unwind_deferred: Implement sframe handling Steven Rostedt

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).