mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-05-26 11:40:24 +02:00
tools headers: Sync uapi/linux/prctl.h with the kernel source
To pick up the changes in these csets:5ca243f6e3("prctl: add arch-agnostic prctl()s for indirect branch tracking")28621ec2d4("rseq: Add prctl() to enable time slice extensions") That don't introduced these new prctls: $ tools/perf/trace/beauty/prctl_option.sh > before.txt $ cp include/uapi/linux/prctl.h tools/perf/trace/beauty/include/uapi/linux/prctl.h $ tools/perf/trace/beauty/prctl_option.sh > after.txt $ diff -u before.txt after.txt --- before.txt 2026-02-27 09:07:16.435611457 -0300 +++ after.txt 2026-02-27 09:07:28.189816531 -0300 @@ -73,6 +73,10 @@ [76] = "LOCK_SHADOW_STACK_STATUS", [77] = "TIMER_CREATE_RESTORE_IDS", [78] = "FUTEX_HASH", + [79] = "RSEQ_SLICE_EXTENSION", + [80] = "GET_INDIR_BR_LP_STATUS", + [81] = "SET_INDIR_BR_LP_STATUS", + [82] = "LOCK_INDIR_BR_LP_STATUS", }; static const char *prctl_set_mm_options[] = { [1] = "START_CODE", $ That now will be used to decode the syscall option and also to compose filters, for instance: [root@five ~]# perf trace -e syscalls:sys_enter_prctl --filter option==SET_NAME 0.000 Isolated Servi/3474327 syscalls:sys_enter_prctl(option: SET_NAME, arg2: 0x7f23f13b7aee) 0.032 DOM Worker/3474327 syscalls:sys_enter_prctl(option: SET_NAME, arg2: 0x7f23deb25670) 7.920 :3474328/3474328 syscalls:sys_enter_prctl(option: SET_NAME, arg2: 0x7f23e24fbb10) 7.935 StreamT~s #374/3474328 syscalls:sys_enter_prctl(option: SET_NAME, arg2: 0x7f23e24fb970) 8.400 Isolated Servi/3474329 syscalls:sys_enter_prctl(option: SET_NAME, arg2: 0x7f23e24bab10) 8.418 StreamT~s #374/3474329 syscalls:sys_enter_prctl(option: SET_NAME, arg2: 0x7f23e24ba970) ^C[root@five ~]# This addresses these perf build warnings: Warning: Kernel ABI header differences: diff -u tools/perf/trace/beauty/include/uapi/linux/prctl.h include/uapi/linux/prctl.h Please see tools/include/uapi/README for further details. Cc: Deepak Gupta <debug@rivosinc.com> Cc: Paul Walmsley <pjw@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@kernel.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -386,4 +386,41 @@ struct prctl_mm_map {
|
||||
# define PR_FUTEX_HASH_SET_SLOTS 1
|
||||
# define PR_FUTEX_HASH_GET_SLOTS 2
|
||||
|
||||
/* RSEQ time slice extensions */
|
||||
#define PR_RSEQ_SLICE_EXTENSION 79
|
||||
# define PR_RSEQ_SLICE_EXTENSION_GET 1
|
||||
# define PR_RSEQ_SLICE_EXTENSION_SET 2
|
||||
/*
|
||||
* Bits for RSEQ_SLICE_EXTENSION_GET/SET
|
||||
* PR_RSEQ_SLICE_EXT_ENABLE: Enable
|
||||
*/
|
||||
# define PR_RSEQ_SLICE_EXT_ENABLE 0x01
|
||||
|
||||
/*
|
||||
* Get the current indirect branch tracking configuration for the current
|
||||
* thread, this will be the value configured via PR_SET_INDIR_BR_LP_STATUS.
|
||||
*/
|
||||
#define PR_GET_INDIR_BR_LP_STATUS 80
|
||||
|
||||
/*
|
||||
* Set the indirect branch tracking configuration. PR_INDIR_BR_LP_ENABLE will
|
||||
* enable cpu feature for user thread, to track all indirect branches and ensure
|
||||
* they land on arch defined landing pad instruction.
|
||||
* x86 - If enabled, an indirect branch must land on an ENDBRANCH instruction.
|
||||
* arch64 - If enabled, an indirect branch must land on a BTI instruction.
|
||||
* riscv - If enabled, an indirect branch must land on an lpad instruction.
|
||||
* PR_INDIR_BR_LP_DISABLE will disable feature for user thread and indirect
|
||||
* branches will no more be tracked by cpu to land on arch defined landing pad
|
||||
* instruction.
|
||||
*/
|
||||
#define PR_SET_INDIR_BR_LP_STATUS 81
|
||||
# define PR_INDIR_BR_LP_ENABLE (1UL << 0)
|
||||
|
||||
/*
|
||||
* Prevent further changes to the specified indirect branch tracking
|
||||
* configuration. All bits may be locked via this call, including
|
||||
* undefined bits.
|
||||
*/
|
||||
#define PR_LOCK_INDIR_BR_LP_STATUS 82
|
||||
|
||||
#endif /* _LINUX_PRCTL_H */
|
||||
|
||||
Reference in New Issue
Block a user