[PATCH v2] block: nbd: fix sanity check for first_minor

From: Yan, Zheng
Date: Sun Oct 10 2021 - 22:45:23 EST


From: "Yan, Zheng" <yanzheng03@xxxxxxxxxxxx>

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@xxxxxxxxxxxx>
---
drivers/block/nbd.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
index 1183f7872b71..118039d35468 100644
--- a/drivers/block/nbd.c
+++ b/drivers/block/nbd.c
@@ -1750,10 +1750,10 @@ static struct nbd_device *nbd_dev_add(int index, unsigned int refs)

/* Too big first_minor can cause duplicate creation of
* sysfs files/links, since first_minor will be truncated to
- * byte in __device_add_disk().
+ * 20-bits number 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;
}
--
2.12.2