USB: serial: cypress_m8: fix interrupt-out transfer length
authorJohan Hovold <johan@kernel.org>
Sun, 30 Sep 2018 16:03:11 +0000 (18:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 24 Nov 2019 07:23:07 +0000 (08:23 +0100)
[ Upstream commit 56445eef55cb5904096fed7a73cf87b755dfffc7 ]

Fix interrupt-out transfer length which was being set to the
transfer-buffer length rather than the size of the outgoing packet.

Note that no slab data was leaked as the whole transfer buffer is always
cleared before each transfer.

Fixes: 9aa8dae7b1fa ("cypress_m8: use usb_fill_int_urb where appropriate")
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/usb/serial/cypress_m8.c

index 90110de715e0156da36bdfb91ac679ecc1838934..d0aa4c853f56a0fd87e2f2846cada8783c94caf2 100644 (file)
@@ -773,7 +773,7 @@ send:
 
        usb_fill_int_urb(port->interrupt_out_urb, port->serial->dev,
                usb_sndintpipe(port->serial->dev, port->interrupt_out_endpointAddress),
-               port->interrupt_out_buffer, port->interrupt_out_size,
+               port->interrupt_out_buffer, actual_size,
                cypress_write_int_callback, port, priv->write_urb_interval);
        result = usb_submit_urb(port->interrupt_out_urb, GFP_ATOMIC);
        if (result) {