* [PATCH 1/1 FYI] tools headers: Update the fs headers with the kernel
@ 2025-06-09 17:50 arnaldo.melo
2025-06-09 17:56 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 2+ messages in thread
From: arnaldo.melo @ 2025-06-09 17:50 UTC (permalink / raw)
To: linux-kernel
Cc: Andrei Vagin, Andrew Morton, Andrii Nakryiko, Darrick J. Wong,
Eric Biggers, Ian Rogers, James Clark, Jiri Olsa, John Garry,
Kan Liang, Liam R. Howlett, Namhyung Kim, sources, Adrian Hunter
tldr; Just FYI, I'm carrying this on the perf tools tree.
Full explanation:
There used to be no copies, with tools/ code using kernel headers
directly. From time to time tools/perf/ broke due to legitimate kernel
hacking. At some point Linus complained about such direct usage. Then we
adopted the current model.
See further details at:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/include/uapi/README
---
To pick up changes from:
5d894321c49e6137 ("fs: add atomic write unit max opt to statx")
a516403787e08119 ("fs/proc: extend the PAGEMAP_SCAN ioctl to report guard regions")
c07d3aede2b26830 ("fscrypt: add support for hardware-wrapped keys")
These are used to beautify fs syscall arguments, albeit the changes in
this update are not affecting those beautifiers.
This addresses these tools/ build warnings:
Warning: Kernel ABI header differences:
diff -u tools/include/uapi/linux/stat.h include/uapi/linux/stat.h
diff -u tools/perf/trace/beauty/include/uapi/linux/fs.h include/uapi/linux/fs.h
diff -u tools/perf/trace/beauty/include/uapi/linux/mount.h include/uapi/linux/mount.h
diff -u tools/perf/trace/beauty/include/uapi/linux/stat.h include/uapi/linux/stat.h
Please see tools/include/uapi/README for details (it's in the first patch
of this series).
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Andrei Vagin <avagin@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andrii Nakryiko <andrii@kernel.org>
Cc: Darrick J. Wong <djwong@kernel.org>
Cc: Eric Biggers <ebiggers@google.com>
Cc: Ian Rogers <irogers@google.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Liam R. Howlett <liam.howlett@oracle.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/include/uapi/linux/fscrypt.h | 6 ++++--
tools/include/uapi/linux/stat.h | 8 ++++++--
tools/perf/trace/beauty/include/uapi/linux/fs.h | 1 +
tools/perf/trace/beauty/include/uapi/linux/stat.h | 8 ++++++--
4 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/tools/include/uapi/linux/fscrypt.h b/tools/include/uapi/linux/fscrypt.h
index 7a8f4c2901873f25..3aff99f2696a05cb 100644
--- a/tools/include/uapi/linux/fscrypt.h
+++ b/tools/include/uapi/linux/fscrypt.h
@@ -119,7 +119,7 @@ struct fscrypt_key_specifier {
*/
struct fscrypt_provisioning_key_payload {
__u32 type;
- __u32 __reserved;
+ __u32 flags;
__u8 raw[];
};
@@ -128,7 +128,9 @@ struct fscrypt_add_key_arg {
struct fscrypt_key_specifier key_spec;
__u32 raw_size;
__u32 key_id;
- __u32 __reserved[8];
+#define FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED 0x00000001
+ __u32 flags;
+ __u32 __reserved[7];
__u8 raw[];
};
diff --git a/tools/include/uapi/linux/stat.h b/tools/include/uapi/linux/stat.h
index f78ee3670dd5d7c8..1686861aae20a6e4 100644
--- a/tools/include/uapi/linux/stat.h
+++ b/tools/include/uapi/linux/stat.h
@@ -182,8 +182,12 @@ struct statx {
/* File offset alignment for direct I/O reads */
__u32 stx_dio_read_offset_align;
- /* 0xb8 */
- __u64 __spare3[9]; /* Spare space for future expansion */
+ /* Optimised max atomic write unit in bytes */
+ __u32 stx_atomic_write_unit_max_opt;
+ __u32 __spare2[1];
+
+ /* 0xc0 */
+ __u64 __spare3[8]; /* Spare space for future expansion */
/* 0x100 */
};
diff --git a/tools/perf/trace/beauty/include/uapi/linux/fs.h b/tools/perf/trace/beauty/include/uapi/linux/fs.h
index e762e1af650c4bf0..0098b0ce8ccb1f19 100644
--- a/tools/perf/trace/beauty/include/uapi/linux/fs.h
+++ b/tools/perf/trace/beauty/include/uapi/linux/fs.h
@@ -361,6 +361,7 @@ typedef int __bitwise __kernel_rwf_t;
#define PAGE_IS_PFNZERO (1 << 5)
#define PAGE_IS_HUGE (1 << 6)
#define PAGE_IS_SOFT_DIRTY (1 << 7)
+#define PAGE_IS_GUARD (1 << 8)
/*
* struct page_region - Page region with flags
diff --git a/tools/perf/trace/beauty/include/uapi/linux/stat.h b/tools/perf/trace/beauty/include/uapi/linux/stat.h
index f78ee3670dd5d7c8..1686861aae20a6e4 100644
--- a/tools/perf/trace/beauty/include/uapi/linux/stat.h
+++ b/tools/perf/trace/beauty/include/uapi/linux/stat.h
@@ -182,8 +182,12 @@ struct statx {
/* File offset alignment for direct I/O reads */
__u32 stx_dio_read_offset_align;
- /* 0xb8 */
- __u64 __spare3[9]; /* Spare space for future expansion */
+ /* Optimised max atomic write unit in bytes */
+ __u32 stx_atomic_write_unit_max_opt;
+ __u32 __spare2[1];
+
+ /* 0xc0 */
+ __u64 __spare3[8]; /* Spare space for future expansion */
/* 0x100 */
};
--
2.49.0
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH 1/1 FYI] tools headers: Update the fs headers with the kernel
2025-06-09 17:50 [PATCH 1/1 FYI] tools headers: Update the fs headers with the kernel arnaldo.melo
@ 2025-06-09 17:56 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 2+ messages in thread
From: Arnaldo Carvalho de Melo @ 2025-06-09 17:56 UTC (permalink / raw)
To: linux-kernel
Cc: Andrei Vagin, Andrew Morton, Andrii Nakryiko, Darrick J. Wong,
Eric Biggers, Ian Rogers, James Clark, Jiri Olsa, John Garry,
Kan Liang, Liam R. Howlett, Namhyung Kim, sources, Adrian Hunter
On Mon, Jun 09, 2025 at 02:50:18PM -0300, Arnaldo Carvalho de Melo wrote:
> This addresses these tools/ build warnings:
>
> Warning: Kernel ABI header differences:
> diff -u tools/include/uapi/linux/stat.h include/uapi/linux/stat.h
> diff -u tools/perf/trace/beauty/include/uapi/linux/fs.h include/uapi/linux/fs.h
> diff -u tools/perf/trace/beauty/include/uapi/linux/mount.h include/uapi/linux/mount.h
Sorry, mount.h isn't touched, its include/uapi/linux/fscrypt.h instead,
I fixed it yup locally.
- Arnaldo
> diff -u tools/perf/trace/beauty/include/uapi/linux/stat.h include/uapi/linux/stat.h
>
> Please see tools/include/uapi/README for details (it's in the first patch
> of this series).
>
> Cc: Adrian Hunter <adrian.hunter@intel.com>
> Cc: Andrei Vagin <avagin@gmail.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Andrii Nakryiko <andrii@kernel.org>
> Cc: Darrick J. Wong <djwong@kernel.org>
> Cc: Eric Biggers <ebiggers@google.com>
> Cc: Ian Rogers <irogers@google.com>
> Cc: James Clark <james.clark@linaro.org>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: John Garry <john.g.garry@oracle.com>
> Cc: Kan Liang <kan.liang@linux.intel.com>
> Cc: Liam R. Howlett <liam.howlett@oracle.com>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
> tools/include/uapi/linux/fscrypt.h | 6 ++++--
> tools/include/uapi/linux/stat.h | 8 ++++++--
> tools/perf/trace/beauty/include/uapi/linux/fs.h | 1 +
> tools/perf/trace/beauty/include/uapi/linux/stat.h | 8 ++++++--
> 4 files changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/tools/include/uapi/linux/fscrypt.h b/tools/include/uapi/linux/fscrypt.h
> index 7a8f4c2901873f25..3aff99f2696a05cb 100644
> --- a/tools/include/uapi/linux/fscrypt.h
> +++ b/tools/include/uapi/linux/fscrypt.h
> @@ -119,7 +119,7 @@ struct fscrypt_key_specifier {
> */
> struct fscrypt_provisioning_key_payload {
> __u32 type;
> - __u32 __reserved;
> + __u32 flags;
> __u8 raw[];
> };
>
> @@ -128,7 +128,9 @@ struct fscrypt_add_key_arg {
> struct fscrypt_key_specifier key_spec;
> __u32 raw_size;
> __u32 key_id;
> - __u32 __reserved[8];
> +#define FSCRYPT_ADD_KEY_FLAG_HW_WRAPPED 0x00000001
> + __u32 flags;
> + __u32 __reserved[7];
> __u8 raw[];
> };
>
> diff --git a/tools/include/uapi/linux/stat.h b/tools/include/uapi/linux/stat.h
> index f78ee3670dd5d7c8..1686861aae20a6e4 100644
> --- a/tools/include/uapi/linux/stat.h
> +++ b/tools/include/uapi/linux/stat.h
> @@ -182,8 +182,12 @@ struct statx {
> /* File offset alignment for direct I/O reads */
> __u32 stx_dio_read_offset_align;
>
> - /* 0xb8 */
> - __u64 __spare3[9]; /* Spare space for future expansion */
> + /* Optimised max atomic write unit in bytes */
> + __u32 stx_atomic_write_unit_max_opt;
> + __u32 __spare2[1];
> +
> + /* 0xc0 */
> + __u64 __spare3[8]; /* Spare space for future expansion */
>
> /* 0x100 */
> };
> diff --git a/tools/perf/trace/beauty/include/uapi/linux/fs.h b/tools/perf/trace/beauty/include/uapi/linux/fs.h
> index e762e1af650c4bf0..0098b0ce8ccb1f19 100644
> --- a/tools/perf/trace/beauty/include/uapi/linux/fs.h
> +++ b/tools/perf/trace/beauty/include/uapi/linux/fs.h
> @@ -361,6 +361,7 @@ typedef int __bitwise __kernel_rwf_t;
> #define PAGE_IS_PFNZERO (1 << 5)
> #define PAGE_IS_HUGE (1 << 6)
> #define PAGE_IS_SOFT_DIRTY (1 << 7)
> +#define PAGE_IS_GUARD (1 << 8)
>
> /*
> * struct page_region - Page region with flags
> diff --git a/tools/perf/trace/beauty/include/uapi/linux/stat.h b/tools/perf/trace/beauty/include/uapi/linux/stat.h
> index f78ee3670dd5d7c8..1686861aae20a6e4 100644
> --- a/tools/perf/trace/beauty/include/uapi/linux/stat.h
> +++ b/tools/perf/trace/beauty/include/uapi/linux/stat.h
> @@ -182,8 +182,12 @@ struct statx {
> /* File offset alignment for direct I/O reads */
> __u32 stx_dio_read_offset_align;
>
> - /* 0xb8 */
> - __u64 __spare3[9]; /* Spare space for future expansion */
> + /* Optimised max atomic write unit in bytes */
> + __u32 stx_atomic_write_unit_max_opt;
> + __u32 __spare2[1];
> +
> + /* 0xc0 */
> + __u64 __spare3[8]; /* Spare space for future expansion */
>
> /* 0x100 */
> };
> --
> 2.49.0
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-06-09 17:56 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-09 17:50 [PATCH 1/1 FYI] tools headers: Update the fs headers with the kernel arnaldo.melo
2025-06-09 17:56 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.