[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ac132dff-ccde-bb14-9590-50f5b9f076e5@gmail.com>
Date: Sat, 9 Oct 2021 11:46:23 +0300
From: Pavel Skripkin <paskripkin@...il.com>
To: "Yan, Zheng" <ukernel@...il.com>, axboe@...nel.dk,
Christoph Hellwig <hch@....de>
Cc: "Yan, Zheng" <yanzheng03@...ishou.com>,
linux-block@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] block: nbd: fix sanity check for first_minor
On 10/9/21 08:35, Yan, Zheng wrote:
+CC Christoph
> From: "Yan, Zheng" <yanzheng03@...ishou.com>
>
> Device's minor is a 20-bits number, max value is 0xfffff.
>
> Fixes: b1a811633f ("block: nbd: add sanity check for first_minor").
> Signed-off-by: "Yan, Zheng" <yanzheng03@...ishou.com>
> ---
> drivers/block/nbd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
> index 1183f7872b71..53cd038c96e9 100644
> --- a/drivers/block/nbd.c
> +++ b/drivers/block/nbd.c
> @@ -1753,7 +1753,7 @@ static struct nbd_device *nbd_dev_add(int index, unsigned int refs)
> * byte in __device_add_disk().
> */
> disk->first_minor = index << part_shift;
> - if (disk->first_minor > 0xff) {
> + if (disk->first_minor > MINORMASK) {
> err = -EINVAL;
> goto out_free_idr;
> }
>
I've looked into what confused me with 0xff and I found that uapi's
kdev_t.h has following MINOR definition:
#define MINOR(dev) ((dev) & 0xff)
But kernel's kdev_t.h is really allows 20 bit minor number :)
Also, can you, please, fix up comment above this check, since it
contains info about max minor 0xff and it can confuse readers.
With regards,
Pavel Skripkin
Powered by blists - more mailing lists