aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@parallels.com>2015-09-04 18:46:34 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-09-04 19:54:41 -0400
commit3f602d2724b1f7d2d27ddcd7963a040a5890fd16 (patch)
treebb15462c57939ce4793c586b01e4218d2633a79a /include/uapi/linux
parent86039bd3b4e6a1129318cbfed4e0a6e001656635 (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.h12
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
56struct uffdio_api { 62struct 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