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

Commit 3c724888 authored by Alan's avatar Alan Committed by Greg Kroah-Hartman
Browse files

chipidea: error on overflow for port_test_write



The write value is 8bit, but currently writing a larger number (eg a doubled
digit) is not errored but instead gets cast and sets off an action probably
undesired.

Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 0ca10122
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -100,6 +100,9 @@ static ssize_t ci_port_test_write(struct file *file, const char __user *ubuf,
	if (sscanf(buf, "%u", &mode) != 1)
		return -EINVAL;

	if (mode > 255)
		return -EBADRQC;

	pm_runtime_get_sync(ci->dev);
	spin_lock_irqsave(&ci->lock, flags);
	ret = hw_port_test_set(ci, mode);