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

Commit 6efdb5cf authored by Manu Gautam's avatar Manu Gautam
Browse files

usb: f_serial: Check for SMD data length in GSER_IOCTL



If user tries to send SMD data more than the driver
buffer can handle then fail the same and print
error message. This smd_write is exposed to userspace
through ioctl using a misc device.

Change-Id: Ie8a1c1c0799cd10cef512ad6b1e1e95001dd43b2
Signed-off-by: default avatarManu Gautam <mgautam@codeaurora.org>
parent ec82f6fd
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -1395,6 +1395,13 @@ static long gser_ioctl(struct file *fp, unsigned cmd, unsigned long arg)
		smd_port_num =
			gserial_ports[gser->port_num].client_port_num;

		if (smd_write_arg.size > GSERIAL_BUF_LEN) {
			pr_err("%s: Invalid size:%u, max: %u", __func__,
				smd_write_arg.size, GSERIAL_BUF_LEN);
			ret = -EINVAL;
			break;
		}

		pr_debug("%s: Copying %d bytes from user buffer to local\n",
			__func__, smd_write_arg.size);