diff options
| author | Pavel Emelyanov <xemul@parallels.com> | 2015-09-04 18:46:34 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-04 19:54:41 -0400 |
| commit | 3f602d2724b1f7d2d27ddcd7963a040a5890fd16 (patch) | |
| tree | bb15462c57939ce4793c586b01e4218d2633a79a /include/uapi/linux | |
| parent | 86039bd3b4e6a1129318cbfed4e0a6e001656635 (diff) | |
userfaultfd: Rename uffd_api.bits into .features
This is (seems to be) the minimal thing that is required to unblock
standard uffd usage from the non-cooperative one. Now more bits can be
added to the features field indicating e.g. UFFD_FEATURE_FORK and others
needed for the latter use-case.
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
Cc: Sanidhya Kashyap <sanidhya.gatech@gmail.com>
Cc: zhang.zhanghailiang@huawei.com
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Andres Lagar-Cavilla <andreslc@google.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mgorman@suse.de>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Hugh Dickins <hughd@google.com>
Cc: Peter Feiner <pfeiner@google.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: "Huangpeng (Peter)" <peter.huangpeng@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/userfaultfd.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/include/uapi/linux/userfaultfd.h b/include/uapi/linux/userfaultfd.h index 09c2e2a8c9d6..330206016249 100644 --- a/include/uapi/linux/userfaultfd.h +++ b/include/uapi/linux/userfaultfd.h | |||
| @@ -12,8 +12,8 @@ | |||
| 12 | #include <linux/types.h> | 12 | #include <linux/types.h> |
| 13 | 13 | ||
| 14 | #define UFFD_API ((__u64)0xAA) | 14 | #define UFFD_API ((__u64)0xAA) |
| 15 | /* FIXME: add "|UFFD_BIT_WP" to UFFD_API_BITS after implementing it */ | 15 | /* FIXME: add "|UFFD_FEATURE_WP" to UFFD_API_FEATURES after implementing it */ |
| 16 | #define UFFD_API_BITS (UFFD_BIT_WRITE) | 16 | #define UFFD_API_FEATURES (UFFD_FEATURE_WRITE_BIT) |
| 17 | #define UFFD_API_IOCTLS \ | 17 | #define UFFD_API_IOCTLS \ |
| 18 | ((__u64)1 << _UFFDIO_REGISTER | \ | 18 | ((__u64)1 << _UFFDIO_REGISTER | \ |
| 19 | (__u64)1 << _UFFDIO_UNREGISTER | \ | 19 | (__u64)1 << _UFFDIO_UNREGISTER | \ |
| @@ -53,12 +53,18 @@ | |||
| 53 | #define UFFD_BIT_WP (1<<1) /* handle_userfault() reason VM_UFFD_WP */ | 53 | #define UFFD_BIT_WP (1<<1) /* handle_userfault() reason VM_UFFD_WP */ |
| 54 | #define UFFD_BITS 2 /* two above bits used for UFFD_BIT_* mask */ | 54 | #define UFFD_BITS 2 /* two above bits used for UFFD_BIT_* mask */ |
| 55 | 55 | ||
| 56 | /* | ||
| 57 | * Features reported in uffdio_api.features field | ||
| 58 | */ | ||
| 59 | #define UFFD_FEATURE_WRITE_BIT (1<<0) /* Corresponds to UFFD_BIT_WRITE */ | ||
| 60 | #define UFFD_FEATURE_WP_BIT (1<<1) /* Corresponds to UFFD_BIT_WP */ | ||
| 61 | |||
| 56 | struct uffdio_api { | 62 | struct uffdio_api { |
| 57 | /* userland asks for an API number */ | 63 | /* userland asks for an API number */ |
| 58 | __u64 api; | 64 | __u64 api; |
| 59 | 65 | ||
| 60 | /* kernel answers below with the available features for the API */ | 66 | /* kernel answers below with the available features for the API */ |
| 61 | __u64 bits; | 67 | __u64 features; |
| 62 | __u64 ioctls; | 68 | __u64 ioctls; |
| 63 | }; | 69 | }; |
| 64 | 70 | ||
