lightnvm: wrong offset in bad blk lun calculation
authorMatias Bjørling <m@bjorling.me>
Tue, 29 Dec 2015 13:37:56 +0000 (14:37 +0100)
committerJens Axboe <axboe@fb.com>
Tue, 29 Dec 2015 15:28:32 +0000 (08:28 -0700)
commitc3293a9ac2a4f9160b85b5e986a8e0c54986e7f7
tree229096c83ebcbb4e8fcc03d559cb29bb29f2df57
parent48cc661e7f4cec80b6aa894cc6902c292f201ea8
lightnvm: wrong offset in bad blk lun calculation

dev->nr_luns reports the total number of luns available in a device
while dev->luns_per_chnl is the number of luns per channel.

When multiple channels are available, the offset is calculated from a
channel and lun id into a linear array. As it multiplies with
the total number of luns, we go out of bound when channel id > 0 and
causes the kernel to panic when we read a protected kernel memory area.

Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/lightnvm/gennvm.c