From patchwork Tue Feb 12 05:59:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chengguang Xu X-Patchwork-Id: 10807377 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7C4F413B4 for ; Tue, 12 Feb 2019 06:00:40 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6ACEA2AF10 for ; Tue, 12 Feb 2019 06:00:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5BAEC2AF01; Tue, 12 Feb 2019 06:00:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E61F92AF01 for ; Tue, 12 Feb 2019 06:00:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726219AbfBLGAb (ORCPT ); Tue, 12 Feb 2019 01:00:31 -0500 Received: from mout.gmx.net ([212.227.15.19]:43703 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725916AbfBLGAb (ORCPT ); Tue, 12 Feb 2019 01:00:31 -0500 Received: from localhost.localdomain ([218.18.229.179]) by mail.gmx.com (mrgmx002 [212.227.17.184]) with ESMTPSA (Nemesis) id 0LwqwS-1h8tWW3chE-016QK4; Tue, 12 Feb 2019 07:00:21 +0100 From: Chengguang Xu To: alex.williamson@redhat.com, kwankhede@nvidia.com Cc: kvm@vger.kernel.org, Chengguang Xu Subject: [PATCH 1/4] vfio: expand minor range when registering chrdev region Date: Tue, 12 Feb 2019 13:59:29 +0800 Message-Id: <20190212055932.8825-1-cgxu519@gmx.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-Provags-ID: V03:K1:9YJXx5ELA7pO2NOivTVp3ZGViAgFiD5TExI5vx1w2d7XfCFq0ff YL+jb4KJcSYs5DufeCZezmnI+OZ6pLxsPxmVboIsRt6/vnJ5VHQthcAwaD5bgkZZb2jsrvE 1wKPINa2jjEIPtz/0er7JOOb87cEbNcTbDoivrAIZa2/H1Ng6aZcKF3Md0xnBHbaskLo8pi MivQInIH++yLtjtZxpQgA== X-UI-Out-Filterresults: notjunk:1;V03:K0:iWYqjvhCJUE=:FKPTt0y0VCAPchprQjJDtB LUP6JZ9D2Ex2JTZWKSoHzfGMT5YvsrjD8DJffC6MTLYWRWyn7zeLpmatOWokqSB8r0QyedJlL /mrpLyyDw0l7lVSkTvIk4bcXcta2xFH1vv2YoAQIuWKujfMciP74UI79km5MobnK8IMBhb8CI lWYFrj/mDJpr+qoltI//6VGw2SiRUGRIZxbE2GJO0AoL/h8mofDNpR66683scuH/yW4arANhj X8oClnLHM35Gbqe51hQVr49wLjby7zJLPKY/ot3AJEQYGQlELJaZJ2Sa6G0fs3W9auLJZ+BoE pzrhWGJKqZ6WQk8DXrYixps8cRUpkpyMPidgzmjQqIxENPpwUUegJWDdbw44J/9Uqo7bLSjKQ DOjGv0aNRXCWjq/wMBN/VQFYTHqTk6nrmt84Ch3eGWhlgFYh+YvkYfMj185lQyA5/0AzfDXwm QQZ3FLWY2AYKzoq4c97pk+808oFXiaPm14267yEboFXejMh8IEDuD4WwX6IpIW5brfsixJsm+ N5NbEJqKh7rwQsIPSe8w075RSN0YC7YnjSNlTb9QDPFWBqOU9zVw9IGuMeSb/S8NnX7+RHGlJ nn2YzRrKZqvbKXMBrEQ/5WTQ64uZwswSYip/wqy8o6VexZFBdwuBP9qa11lLu9bS4EnRrcRR8 /CzDqgZsHRzZsUZ3wPEydEkjtKeU9ORPPgoi4mCidR4ahvzJbWXj4YPgJHoDRwlQpBZTVcLSL hkcetAukIeltMjQk5blnJOpXJ4GGYKkcMxS2JWQwl+vanY5e+YcIExpN8GmvGnvk/wVxN7CmE poHX9CWHNFLd1yk/sFVxg7Rb+aFIU0Mno92HwJ7GwowRURkcLK+50tRQcKX9INbBMkXzyVwC+ LvOy+X+BDeVHR7/11+R3EnJqUkWH6zpOhP6Nlm7neZs/aRJLIuwGb/DM3H/oKS Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Actually, total amount of available minor number for a single major is MINORMARK + 1. So expand minor range when registering chrdev region. Signed-off-by: Chengguang Xu --- drivers/vfio/vfio.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c index 64833879f75d..a3030cdf3c18 100644 --- a/drivers/vfio/vfio.c +++ b/drivers/vfio/vfio.c @@ -2219,12 +2219,12 @@ static int __init vfio_init(void) vfio.class->devnode = vfio_devnode; - ret = alloc_chrdev_region(&vfio.group_devt, 0, MINORMASK, "vfio"); + ret = alloc_chrdev_region(&vfio.group_devt, 0, MINORMASK + 1, "vfio"); if (ret) goto err_alloc_chrdev; cdev_init(&vfio.group_cdev, &vfio_group_fops); - ret = cdev_add(&vfio.group_cdev, vfio.group_devt, MINORMASK); + ret = cdev_add(&vfio.group_cdev, vfio.group_devt, MINORMASK + 1); if (ret) goto err_cdev_add; @@ -2236,7 +2236,7 @@ static int __init vfio_init(void) return 0; err_cdev_add: - unregister_chrdev_region(vfio.group_devt, MINORMASK); + unregister_chrdev_region(vfio.group_devt, MINORMASK + 1); err_alloc_chrdev: class_destroy(vfio.class); vfio.class = NULL; @@ -2254,7 +2254,7 @@ static void __exit vfio_cleanup(void) #endif idr_destroy(&vfio.group_idr); cdev_del(&vfio.group_cdev); - unregister_chrdev_region(vfio.group_devt, MINORMASK); + unregister_chrdev_region(vfio.group_devt, MINORMASK + 1); class_destroy(vfio.class); vfio.class = NULL; misc_deregister(&vfio_dev);