|
@@ -23,7 +23,8 @@
|
|
|
UFFD_FEATURE_EVENT_REMOVE | \
|
|
|
UFFD_FEATURE_EVENT_UNMAP | \
|
|
|
UFFD_FEATURE_MISSING_HUGETLBFS | \
|
|
|
- UFFD_FEATURE_MISSING_SHMEM)
|
|
|
+ UFFD_FEATURE_MISSING_SHMEM | \
|
|
|
+ UFFD_FEATURE_SIGBUS)
|
|
|
#define UFFD_API_IOCTLS \
|
|
|
((__u64)1 << _UFFDIO_REGISTER | \
|
|
|
(__u64)1 << _UFFDIO_UNREGISTER | \
|
|
@@ -153,6 +154,12 @@ struct uffdio_api {
|
|
|
* 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).
|
|
|
+ *
|
|
|
+ * UFFD_FEATURE_SIGBUS feature means no page-fault
|
|
|
+ * (UFFD_EVENT_PAGEFAULT) event will be delivered, instead
|
|
|
+ * a SIGBUS signal will be sent to the faulting process.
|
|
|
+ * The application process can enable this behavior by adding
|
|
|
+ * it to uffdio_api.features.
|
|
|
*/
|
|
|
#define UFFD_FEATURE_PAGEFAULT_FLAG_WP (1<<0)
|
|
|
#define UFFD_FEATURE_EVENT_FORK (1<<1)
|
|
@@ -161,6 +168,7 @@ struct uffdio_api {
|
|
|
#define UFFD_FEATURE_MISSING_HUGETLBFS (1<<4)
|
|
|
#define UFFD_FEATURE_MISSING_SHMEM (1<<5)
|
|
|
#define UFFD_FEATURE_EVENT_UNMAP (1<<6)
|
|
|
+#define UFFD_FEATURE_SIGBUS (1<<7)
|
|
|
__u64 features;
|
|
|
|
|
|
__u64 ioctls;
|