|
@@ -256,6 +256,16 @@ struct vm_region {
|
|
|
* this region */
|
|
|
};
|
|
|
|
|
|
+#ifdef CONFIG_USERFAULTFD
|
|
|
+#define NULL_VM_UFFD_CTX ((struct vm_userfaultfd_ctx) { NULL, })
|
|
|
+struct vm_userfaultfd_ctx {
|
|
|
+ struct userfaultfd_ctx *ctx;
|
|
|
+};
|
|
|
+#else /* CONFIG_USERFAULTFD */
|
|
|
+#define NULL_VM_UFFD_CTX ((struct vm_userfaultfd_ctx) {})
|
|
|
+struct vm_userfaultfd_ctx {};
|
|
|
+#endif /* CONFIG_USERFAULTFD */
|
|
|
+
|
|
|
/*
|
|
|
* This struct defines a memory VMM memory area. There is one of these
|
|
|
* per VM-area/task. A VM area is any part of the process virtual memory
|
|
@@ -322,6 +332,7 @@ struct vm_area_struct {
|
|
|
#ifdef CONFIG_NUMA
|
|
|
struct mempolicy *vm_policy; /* NUMA policy for the VMA */
|
|
|
#endif
|
|
|
+ struct vm_userfaultfd_ctx vm_userfaultfd_ctx;
|
|
|
};
|
|
|
|
|
|
struct core_thread {
|