Commit 0e5ffd1c authored by Matias Bjørling's avatar Matias Bjørling Committed by Jens Axboe
Browse files

lightnvm: fix off-by-one error on target initialization



If one specifies the end lun id to be the absolute number of luns,
without taking zero indexing into account, the lightnvm core will pass
the off-by-one end lun id to target creation, which then panics during
nvm_ioctl_dev_create.

Signed-off-by: default avatarMatias Bjørling <matias@cnexlabs.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 0222967b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1102,9 +1102,9 @@ static int __nvm_configure_create(struct nvm_ioctl_create *create)
	}
	s = &create->conf.s;

	if (s->lun_begin > s->lun_end || s->lun_end > dev->geo.nr_luns) {
	if (s->lun_begin > s->lun_end || s->lun_end >= dev->geo.nr_luns) {
		pr_err("nvm: lun out of bound (%u:%u > %u)\n",
			s->lun_begin, s->lun_end, dev->geo.nr_luns);
			s->lun_begin, s->lun_end, dev->geo.nr_luns - 1);
		return -EINVAL;
	}