1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/tools/testing/selftests/x86
Linus Torvalds 91bd008d4e 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQFPBAABCgA5FiEEh7BulGwFlgAOi5DV2/sHvwUrPxsFAmaWYxwbHG1hc2FtaS5o
 aXJhbWF0c3VAZ21haWwuY29tAAoJENv7B78FKz8bsUgH/3JcSzDZujQWCZ1f4fJn
 QecvTFSYcCl6ck8+/3wm4EsgeCXIFOyPnoPc7k2Gm+l6Dlk1DKGV6wV4tuKFUq9X
 9mplcwoVA0Ln+EX9zv9v4s99yUGxcU9xjgC9XT7J52SvqYncPIi6dR0Z9wlJBmyd
 Bx3cZk+wSzCYaoqYngI2fKlzsEcYgDIP999fQPRi0HGzNZujc4xeJyjCTC/48yWO
 9kreRQq6wFdgRQTwMcR/fKPDKIGZQCU8jkXv5crVV5K3rNaBcwBmCJJMP8PzPU0V
 UQ0+8RZK+Qk8SBwXcMNVRqm/efTderob4IYxP8OBe5wjAIE7+vu8r6sqwxRIS54M
 Cyg=
 =DRSr
 -----END PGP SIGNATURE-----

Merge tag 'probes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull probes updates from Masami Hiramatsu:
 "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 two 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 fail)
      - 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"

* tag 'probes-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  MAINTAINERS: Add uprobes entry
  selftests/bpf: Change uretprobe syscall number in uprobe_syscall test
  uprobe: Change uretprobe syscall scope and number
  tracing/kprobes: Fix build error when find_module() is not available
  tracing/kprobes: Add symbol counting check when module loads
  selftests/bpf: add test validating uprobe/uretprobe stack traces
  perf,uprobes: fix user stack traces in the presence of pending uretprobes
  tracing/kprobe: Remove cleanup code unrelated to selftest
  tracing/kprobe: Integrate test warnings into WARN_ONCE
  selftests/bpf: Add uretprobe shadow stack test
  selftests/bpf: Add uretprobe syscall call from user space test
  selftests/bpf: Add uretprobe syscall test for regs changes
  selftests/bpf: Add uretprobe syscall test for regs integrity
  selftests/x86: Add return uprobe shadow stack test
  uprobe: Add uretprobe syscall to speed up return probe
  uprobe: Wire up uretprobe system call
  x86/shstk: Make return uprobe work with shadow stack
  samples: kprobes: add missing MODULE_DESCRIPTION() macros
  fprobe: add missing MODULE_DESCRIPTION() macro
2024-07-18 12:19:20 -07:00
..
.gitignore selftests/x86/pkeys: move selftests to arch-neutral directory 2020-06-04 19:06:26 -07:00
amx.c selftests/x86: remove (or use) unused variables and functions 2024-07-11 11:23:55 -06:00
check_cc.sh selftests/x86: Add validity check and allow field splitting 2022-02-17 11:55:17 -08:00
check_initial_reg_state.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
clang_helpers_32.S selftests/x86: build fsgsbase_restore.c with clang 2024-07-11 11:23:55 -06:00
clang_helpers_64.S selftests/x86: build sysret_rip.c with clang 2024-07-11 11:23:55 -06:00
corrupt_xstate_header.c selftests/x86/corrupt_xstate_header: Use provided __cpuid_count() macro 2022-04-25 15:13:03 -06:00
entry_from_vm86.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
fsgsbase.c selftests/x86: remove (or use) unused variables and functions 2024-07-11 11:23:55 -06:00
fsgsbase_restore.c selftests/x86: build fsgsbase_restore.c with clang 2024-07-11 11:23:55 -06:00
helpers.h selftests/x86: Use __builtin_ia32_read/writeeflags 2021-01-12 12:31:28 +01:00
ioperm.c selftests/x86/ioperm: Extend testing so the shared bitmap is exercised 2019-11-16 11:24:04 +01:00
iopl.c selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage 2021-10-30 23:18:04 +02:00
lam.c linux_kselftest-next-6.10-rc1 2024-05-14 11:36:54 -07:00
ldt_gdt.c selftests/x86/ldt_gdt: remove unneeded semicolon 2021-02-08 16:32:52 -07:00
Makefile selftests/x86: avoid -no-pie warnings from clang during compilation 2024-07-11 11:23:55 -06:00
mov_ss_trap.c selftests/x86: Fix error: variably modified 'altstack_data' at file scope 2021-08-25 16:54:39 -06:00
nx_stack.c selftests/x86/mm: Add new test that userspace stack is in fact NX 2023-10-03 21:00:45 +02:00
ptrace_syscall.c selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault 2020-03-20 11:28:47 +01:00
raw_syscall_helper_32.S selftests/x86: Add missing .note.GNU-stack sections 2020-11-24 13:55:39 +01:00
sigaltstack.c selftest/x86/signal: Include test cases for validating sigaltstack 2021-05-19 12:45:07 +02:00
sigreturn.c selftests/x86: fix printk warnings reported by clang 2024-07-11 11:23:55 -06:00
single_step_syscall.c selftests/x86: Fix error: variably modified 'altstack_data' at file scope 2021-08-25 16:54:39 -06:00
syscall_arg_fault.c selftests/x86: remove (or use) unused variables and functions 2024-07-11 11:23:55 -06:00
syscall_nt.c x86/entry, selftests: Further improve user entry sanity checks 2020-07-04 19:47:25 +02:00
syscall_numbering.c selftests/x86/syscall: Add tests under ptrace to syscall_numbering_64 2021-05-20 15:19:48 +02:00
sysret_rip.c selftests/x86: build sysret_rip.c with clang 2024-07-11 11:23:55 -06:00
sysret_ss_attrs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
test_FCMOV.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_FCOMI.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
test_FISTTP.c selftests: x86: test_FISTTP: use fisttps instead of ambiguous fisttp 2024-07-11 11:23:55 -06:00
test_mremap_vdso.c selftests: x86: test_mremap_vdso: conform test to TAP format output 2024-05-06 13:57:19 -06:00
test_shadow_stack.c selftests/x86: Add return uprobe shadow stack test 2024-06-12 08:44:28 +09:00
test_syscall_vdso.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
test_vsyscall.c selftests/x86: fix printk warnings reported by clang 2024-07-11 11:23:55 -06:00
thunks.S selftests/x86: Add missing .note.GNU-stack sections 2020-11-24 13:55:39 +01:00
thunks_32.S selftests/x86: Add a missing .note.GNU-stack section to thunks_32.S 2021-03-18 11:05:14 +01:00
trivial_32bit_program.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
trivial_64bit_program.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 257 2019-06-05 17:30:27 +02:00
trivial_program.c selftests/x86: Detect -no-pie availability 2018-05-30 15:21:51 -06:00
unwind_vdso.c selftests/x86: Consolidate and fix get/set_eflags() helpers 2020-07-01 10:00:27 +02:00
vdso_restorer.c selftests/x86: remove (or use) unused variables and functions 2024-07-11 11:23:55 -06:00