lkml.org 
[lkml]   [2021]   [Oct]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] block: nbd: fix sanity check for first_minor
From
On 10/9/21 08:35, Yan, Zheng wrote:

+CC Christoph

> From: "Yan, Zheng" <yanzheng03@kuaishou.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@kuaishou.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

\
 
 \ /
  Last update: 2021-10-09 10:46    [W:0.035 / U:0.804 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site