From 7de8a34a87048f0a79c79963bec56400f745a24f Mon Sep 17 00:00:00 2001 From: Axel Rasmussen Date: Fri, 19 Aug 2022 13:51:58 -0700 Subject: [PATCH] userfaultfd-add-dev-userfaultfd-for-fine-grained-access-control-v7 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 Acked-by: Nadav Amit Acked-by: Peter Xu Signed-off-by: Axel Rasmussen Cc: Al Viro Cc: Dave Hansen Cc: Dmitry V. Levin Cc: Gleb Fotengauer-Malinovskiy Cc: Hugh Dickins Cc: Jan Kara Cc: Jonathan Corbet Cc: Mel Gorman Cc: Mike Kravetz Cc: Mike Rapoport Cc: Shuah Khan Cc: Shuah Khan Cc: Suren Baghdasaryan Cc: Vlastimil Babka Cc: Zhang Yi Signed-off-by: Andrew Morton --- fs/userfaultfd.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/fs/userfaultfd.c b/fs/userfaultfd.c index 941ede31a9da..4de91ba9e85e 100644 --- a/fs/userfaultfd.c +++ b/fs/userfaultfd.c @@ -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), -- 2.50.1