ovl: fix typo in MODULE_PARM_DESC
[sfrench/cifs-2.6.git] / fs / userfaultfd.c
index f5de1e726356a51c27ff529f98d99032650eb839..3b30301c90ec309ac17c608e1db2c7742e29c173 100644 (file)
@@ -30,6 +30,8 @@
 #include <linux/security.h>
 #include <linux/hugetlb.h>
 
+int sysctl_unprivileged_userfaultfd __read_mostly = 1;
+
 static struct kmem_cache *userfaultfd_ctx_cachep __read_mostly;
 
 enum userfaultfd_state {
@@ -1930,6 +1932,9 @@ SYSCALL_DEFINE1(userfaultfd, int, flags)
        struct userfaultfd_ctx *ctx;
        int fd;
 
+       if (!sysctl_unprivileged_userfaultfd && !capable(CAP_SYS_PTRACE))
+               return -EPERM;
+
        BUG_ON(!current->mm);
 
        /* Check the UFFD_* constants for consistency.  */