lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240716234445.a17a40e8d3d7b4ba5cef949e@kernel.org>
Date: Tue, 16 Jul 2024 23:44:45 +0900
From: Masami Hiramatsu (Google) <mhiramat@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Andrii Nakryiko <andrii@...nel.org>, Jeff Johnson
 <quic_jjohnson@...cinc.com>, Jiri Olsa <jolsa@...nel.org>, Masami Hiramatsu
 (Google) <mhiramat@...nel.org>, Steven Rostedt <rostedt@...dmis.org>,
 Masami Hiramatsu <mhiramat@...nel.org>, linux-kernel@...r.kernel.org
Subject: [GIT PULL] probes: Updates for v6.11

Hi Linus,

Probes updates for v6.11:

Uprobes:
- x86/shstk: Make return uprobe work with shadow stack.
- Add uretprobe syscall which speeds up the uretprobe 10-30% faster. This
  syscall is automatically used from user-space trampolines which are
  generated by the uretprobe. If this syscall is used by normal
  user program, it will cause SIGILL. Note that this is currently only
  implemented on x86_64.
  (This also has 2 fixes for adjusting the syscall number to avoid conflict
   with new *attrat syscalls.)
- uprobes/perf: fix user stack traces in the presence of pending uretprobe.
  This corrects the uretprobe's trampoline address in the stacktrace with
  correct return address.
- selftests/x86: Add a return uprobe with shadow stack test.
- selftests/bpf: Add uretprobe syscall related tests.
  . test case for register integrity check.
  . test case with register changing case.
  . test case for uretprobe syscall without uprobes (expected to be failed).
  . test case for uretprobe with shadow stack.
- selftests/bpf: add test validating uprobe/uretprobe stack traces
- MAINTAINERS: Add uprobes entry. This does not specify the tree but to
  clarify who maintains and reviews the uprobes.

Kprobes:
- tracing/kprobes: Test case cleanups. Replace redundant WARN_ON_ONCE() +
  pr_warn() with WARN_ONCE() and remove unnecessary code from selftest.
- tracing/kprobes: Add symbol counting check when module loads. This
  checks the uniqueness of the probed symbol on modules. The same check
  has already done for kernel symbols.
  (This also has a fix for build error with CONFIG_MODULES=n)

Cleanup:
- Add MODULE_DESCRIPTION() macros for fprobe and kprobe examples.


Please pull the latest probes-v6.11 tree, which can be found at:


  git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
probes-v6.11

Tag SHA1: aa4c31f7638918b4fe22ccea2bc9469721ee95cd
Head SHA1: c26b1b89b8a9fd8665e79cd798bd970e233772b6


Andrii Nakryiko (2):
      perf,uprobes: fix user stack traces in the presence of pending uretprobes
      selftests/bpf: add test validating uprobe/uretprobe stack traces

Jeff Johnson (2):
      fprobe: add missing MODULE_DESCRIPTION() macro
      samples: kprobes: add missing MODULE_DESCRIPTION() macros

Jiri Olsa (10):
      x86/shstk: Make return uprobe work with shadow stack
      uprobe: Wire up uretprobe system call
      uprobe: Add uretprobe syscall to speed up return probe
      selftests/x86: Add return uprobe shadow stack test
      selftests/bpf: Add uretprobe syscall test for regs integrity
      selftests/bpf: Add uretprobe syscall test for regs changes
      selftests/bpf: Add uretprobe syscall call from user space test
      selftests/bpf: Add uretprobe shadow stack test
      uprobe: Change uretprobe syscall scope and number
      selftests/bpf: Change uretprobe syscall number in uprobe_syscall test

Masami Hiramatsu (Google) (5):
      tracing/kprobe: Integrate test warnings into WARN_ONCE
      tracing/kprobe: Remove cleanup code unrelated to selftest
      tracing/kprobes: Add symbol counting check when module loads
      tracing/kprobes: Fix build error when find_module() is not available
      MAINTAINERS: Add uprobes entry

----
 MAINTAINERS                                        |  13 +
 arch/x86/entry/syscalls/syscall_64.tbl             |   1 +
 arch/x86/include/asm/shstk.h                       |   4 +
 arch/x86/kernel/shstk.c                            |  16 +
 arch/x86/kernel/uprobes.c                          | 124 ++++++-
 include/linux/syscalls.h                           |   2 +
 include/linux/uprobes.h                            |   3 +
 include/uapi/asm-generic/unistd.h                  |   5 +-
 kernel/events/callchain.c                          |  43 ++-
 kernel/events/uprobes.c                            |  33 +-
 kernel/sys_ni.c                                    |   2 +
 kernel/trace/trace_kprobe.c                        | 192 +++++-----
 samples/fprobe/fprobe_example.c                    |   1 +
 samples/kprobes/kprobe_example.c                   |   1 +
 samples/kprobes/kretprobe_example.c                |   1 +
 tools/include/linux/compiler.h                     |   4 +
 .../selftests/bpf/bpf_testmod/bpf_testmod.c        | 123 ++++++-
 .../selftests/bpf/prog_tests/uprobe_syscall.c      | 385 +++++++++++++++++++++
 .../selftests/bpf/prog_tests/uretprobe_stack.c     | 186 ++++++++++
 tools/testing/selftests/bpf/progs/uprobe_syscall.c |  15 +
 .../selftests/bpf/progs/uprobe_syscall_executed.c  |  17 +
 .../testing/selftests/bpf/progs/uretprobe_stack.c  |  96 +++++
 tools/testing/selftests/x86/test_shadow_stack.c    | 145 ++++++++
 23 files changed, 1320 insertions(+), 92 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/prog_tests/uprobe_syscall.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/uretprobe_stack.c
 create mode 100644 tools/testing/selftests/bpf/progs/uprobe_syscall.c
 create mode 100644 tools/testing/selftests/bpf/progs/uprobe_syscall_executed.c
 create mode 100644 tools/testing/selftests/bpf/progs/uretprobe_stack.c

-- 
Masami Hiramatsu (Google) <mhiramat@...nel.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ