]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
userfaultfd-add-dev-userfaultfd-for-fine-grained-access-control-v7
authorAxel Rasmussen <axelrasmussen@google.com>
Fri, 19 Aug 2022 20:51:58 +0000 (13:51 -0700)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 22 Aug 2022 22:57:56 +0000 (15:57 -0700)
Handle misc_register() failure properly by propagating the error instead
of just WARN_ON-ing.

Link: https://lkml.kernel.org/r/20220819205201.658693-3-axelrasmussen@google.com
Acked-by: Mike Rapoport <rppt@linux.ibm.com>
Acked-by: Nadav Amit <namit@vmware.com>
Acked-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Dmitry V. Levin <ldv@altlinux.org>
Cc: Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org>
Cc: Hugh Dickins <hughd@google.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Mel Gorman <mgorman@techsingularity.net>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Zhang Yi <yi.zhang@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/userfaultfd.c

index 941ede31a9da6a99344f69e5289511f643aba30b..4de91ba9e85e3b51f1aa8d6aa0ea2c187933b635 100644 (file)
@@ -2114,11 +2114,6 @@ SYSCALL_DEFINE1(userfaultfd, int, flags)
        return new_userfaultfd(flags);
 }
 
-static int userfaultfd_dev_open(struct inode *inode, struct file *file)
-{
-       return 0;
-}
-
 static long userfaultfd_dev_ioctl(struct file *file, unsigned int cmd, unsigned long flags)
 {
        if (cmd != USERFAULTFD_IOC_NEW)
@@ -2128,7 +2123,6 @@ static long userfaultfd_dev_ioctl(struct file *file, unsigned int cmd, unsigned
 }
 
 static const struct file_operations userfaultfd_dev_fops = {
-       .open = userfaultfd_dev_open,
        .unlocked_ioctl = userfaultfd_dev_ioctl,
        .compat_ioctl = userfaultfd_dev_ioctl,
        .owner = THIS_MODULE,
@@ -2143,7 +2137,11 @@ static struct miscdevice userfaultfd_misc = {
 
 static int __init userfaultfd_init(void)
 {
-       WARN_ON(misc_register(&userfaultfd_misc));
+       int ret;
+
+       ret = misc_register(&userfaultfd_misc);
+       if (ret)
+               return ret;
 
        userfaultfd_ctx_cachep = kmem_cache_create("userfaultfd_ctx_cache",
                                                sizeof(struct userfaultfd_ctx),