[LTP] [PATCH v3 1/2] userfaultfd: Add helper for checking UFFD feature support
Ricardo Branco
rbranco@suse.de
Thu May 7 10:31:23 CEST 2026
Add CHECK_UFFD_FEATURE() to perform the initial UFFDIO_API handshake
without requesting optional features and verify that the kernel reports
the requested feature bit.
Signed-off-by: Ricardo Branco <rbranco@suse.de>
---
include/lapi/userfaultfd.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/include/lapi/userfaultfd.h b/include/lapi/userfaultfd.h
index aab3890b7..170dfadd4 100644
--- a/include/lapi/userfaultfd.h
+++ b/include/lapi/userfaultfd.h
@@ -277,4 +277,24 @@ retry:
return ret;
}
+#define CHECK_UFFD_FEATURE(feature) check_uffd_feature(feature, #feature)
+
+static inline void check_uffd_feature(uint64_t feature, const char *name)
+{
+ struct uffdio_api uffdio_api = {};
+ int uffd;
+
+ uffd = SAFE_USERFAULTFD(O_CLOEXEC | O_NONBLOCK, false);
+
+ uffdio_api.api = UFFD_API;
+ SAFE_IOCTL(uffd, UFFDIO_API, &uffdio_api);
+
+ if (!(uffdio_api.features & feature)) {
+ SAFE_CLOSE(uffd);
+ tst_brk(TCONF, "%s not supported", name);
+ }
+
+ SAFE_CLOSE(uffd);
+}
+
#endif /* LAPI_USERFAULTFD_H__ */
--
2.54.0
More information about the ltp
mailing list