nbd: fix possible overflow on 'first_minor' in nbd_dev_add()
authorZhang Wensheng <zhangwensheng5@huawei.com>
Thu, 10 Mar 2022 09:32:24 +0000 (17:32 +0800)
committerJens Axboe <axboe@kernel.dk>
Thu, 31 Mar 2022 14:30:21 +0000 (08:30 -0600)
commit6d35d04a9e18990040e87d2bbf72689252669d54
treea382f6181c864dafd22e6a24b2c012eed69eabf7
parentdb0a1550407e9bb227a31ce7e2f77489986f47e0
nbd: fix possible overflow on 'first_minor' in nbd_dev_add()

When 'index' is a big numbers, it may become negative which forced
to 'int'. then 'index << part_shift' might overflow to a positive
value that is not greater than '0xfffff', then sysfs might complains
about duplicate creation. Because of this, move the 'index' judgment
to the front will fix it and be better.

Fixes: b0d9111a2d53 ("nbd: use an idr to keep track of nbd devices")
Fixes: 940c264984fd ("nbd: fix possible overflow for 'first_minor' in nbd_dev_add()")
Signed-off-by: Zhang Wensheng <zhangwensheng5@huawei.com>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Link: https://lore.kernel.org/r/20220310093224.4002895-1-zhangwensheng5@huawei.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/nbd.c