serial: omap: Prevent DoS using unprivileged ioctl(TIOCSRS485)
authorPeter Hurley <peter@hurleysoftware.com>
Tue, 12 Jan 2016 23:14:46 +0000 (15:14 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Feb 2016 20:01:14 +0000 (12:01 -0800)
commit5859b9077763ea1c3f4db47522bdcf300aedb080
treef8b68d1987d9b4c86d79312eb46357cdeb89fdfe
parent76e88140aa9111605768e7725ec1c5b709d51865
serial: omap: Prevent DoS using unprivileged ioctl(TIOCSRS485)

commit 308bbc9ab838d0ace0298268c7970ba9513e2c65 upstream.

The omap-serial driver emulates RS485 delays using software timers,
but neglects to clamp the input values from the unprivileged
ioctl(TIOCSRS485). Because the software implementation busy-waits,
malicious userspace could stall the cpu for ~49 days.

Clamp the input values to < 100ms.

Fixes: 4a0ac0f55b18 ("OMAP: add RS485 support")
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/omap-serial.c