]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
tools headers UAPI: Sync linux/prctl.h with the kernel sources to pick FUTEX knob
authorArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 9 Jun 2025 18:02:17 +0000 (15:02 -0300)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 16 Jun 2025 17:05:10 +0000 (14:05 -0300)
To pick the changes in:

  63e8595c060a1fef ("futex: Allow to make the private hash immutable")
  80367ad01d93ac78 ("futex: Add basic infrastructure for local task local hash")

That adds a FUTEX knob:

  $ tools/perf/trace/beauty/prctl_option.sh > before
  $ cp include/uapi/linux/prctl.h tools/perf/trace/beauty/include/uapi/linux/prctl.h
  $ tools/perf/trace/beauty/prctl_option.sh > after
  $ diff -u before after
  --- before 2025-06-09 14:50:45.162579336 -0300
  +++ after 2025-06-09 14:50:52.797660024 -0300
  @@ -72,6 +72,7 @@
    [75] = "SET_SHADOW_STACK_STATUS",
    [76] = "LOCK_SHADOW_STACK_STATUS",
    [77] = "TIMER_CREATE_RESTORE_IDS",
  + [78] = "FUTEX_HASH",
   };
   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 this perf build warning:

  Warning: Kernel ABI header differences:
    diff -u tools/perf/trace/beauty/include/uapi/linux/prctl.h include/uapi/linux/prctl.h

Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/aEiYOtKkrVDT03hZ@x1
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/trace/beauty/include/uapi/linux/prctl.h

index 15c18ef4eb11a0136b06f5a915145cd0df9cd023..43dec6eed559a68685fb03e659859bd2c4ee3395 100644 (file)
@@ -364,4 +364,11 @@ struct prctl_mm_map {
 # define PR_TIMER_CREATE_RESTORE_IDS_ON                1
 # define PR_TIMER_CREATE_RESTORE_IDS_GET       2
 
+/* FUTEX hash management */
+#define PR_FUTEX_HASH                  78
+# define PR_FUTEX_HASH_SET_SLOTS       1
+# define FH_FLAG_IMMUTABLE             (1ULL << 0)
+# define PR_FUTEX_HASH_GET_SLOTS       2
+# define PR_FUTEX_HASH_GET_IMMUTABLE   3
+
 #endif /* _LINUX_PRCTL_H */