]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/uapi/linux/userfaultfd.h
userfaultfd: hugetlbfs: UFFD_FEATURE_MISSING_SHMEM
[karo-tx-linux.git] / include / uapi / linux / userfaultfd.h
index 10631a4cdb24c0bac419aa8c6ce5833667f1a562..9ac4b68c54d18ed806534b1de726a1ea4b86ca7d 100644 (file)
@@ -21,7 +21,8 @@
 #define UFFD_API_FEATURES (UFFD_FEATURE_EVENT_FORK |           \
                           UFFD_FEATURE_EVENT_REMAP |           \
                           UFFD_FEATURE_EVENT_MADVDONTNEED |    \
-                          UFFD_FEATURE_MISSING_HUGETLBFS)
+                          UFFD_FEATURE_MISSING_HUGETLBFS |     \
+                          UFFD_FEATURE_MISSING_SHMEM)
 #define UFFD_API_IOCTLS                                \
        ((__u64)1 << _UFFDIO_REGISTER |         \
         (__u64)1 << _UFFDIO_UNREGISTER |       \
@@ -146,12 +147,17 @@ struct uffdio_api {
         *    it, so userland can later check if the feature flag is
         *    present in uffdio_api.features after UFFDIO_API
         *    succeeded.
+        *
+        * UFFD_FEATURE_MISSING_SHMEM works the same as
+        * UFFD_FEATURE_MISSING_HUGETLBFS, but it applies to shmem
+        * (i.e. tmpfs and other shmem based APIs).
         */
 #define UFFD_FEATURE_PAGEFAULT_FLAG_WP         (1<<0)
 #define UFFD_FEATURE_EVENT_FORK                        (1<<1)
 #define UFFD_FEATURE_EVENT_REMAP               (1<<2)
 #define UFFD_FEATURE_EVENT_MADVDONTNEED                (1<<3)
 #define UFFD_FEATURE_MISSING_HUGETLBFS         (1<<4)
+#define UFFD_FEATURE_MISSING_SHMEM             (1<<5)
        __u64 features;
 
        __u64 ioctls;