Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e422cff authored by Alan's avatar Alan Committed by Jens Axboe
Browse files

lightnvm: fix up nonsensical configure overrun checking



Instead of checking a constant 0 actually check the space available. Even
better remember to allow for the header and also check the right amount of
space is needed.

Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarMatias Bjørling <m@bjorling.me>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 5a705845
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -870,20 +870,19 @@ static int nvm_configure_by_str_event(const char *val,

static int nvm_configure_get(char *buf, const struct kernel_param *kp)
{
	int sz = 0;
	char *buf_start = buf;
	int sz;
	struct nvm_dev *dev;

	buf += sprintf(buf, "available devices:\n");
	sz = sprintf(buf, "available devices:\n");
	down_write(&nvm_lock);
	list_for_each_entry(dev, &nvm_devices, devices) {
		if (sz > 4095 - DISK_NAME_LEN)
		if (sz > 4095 - DISK_NAME_LEN - 2)
			break;
		buf += sprintf(buf, " %32s\n", dev->name);
		sz += sprintf(buf + sz, " %32s\n", dev->name);
	}
	up_write(&nvm_lock);

	return buf - buf_start - 1;
	return sz;
}

static const struct kernel_param_ops nvm_configure_by_str_event_param_ops = {