#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 |       \
         *    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;