Skip to content

Commit 7299b1b

Browse files
gregkhmarckleinebudde
authored andcommitted
can: usb: f81604: handle short interrupt urb messages properly
If an interrupt urb is received that is not the correct length, properly detect it and don't attempt to treat the data as valid. Cc: Ji-Ze Hong (Peter Hong) <peter_hong@fintek.com.tw> Cc: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Vincent Mailhol <mailhol@kernel.org> Cc: stable@kernel.org Assisted-by: gkh_clanker_2000 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Link: https://patch.msgid.link/2026022331-opal-evaluator-a928@gregkh Fixes: 88da174 ("can: usb: f81604: add Fintek F81604 support") Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
1 parent 5eaad4f commit 7299b1b

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

drivers/net/can/usb/f81604.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,12 @@ static void f81604_read_int_callback(struct urb *urb)
620620
netdev_info(netdev, "%s: Int URB aborted: %pe\n", __func__,
621621
ERR_PTR(urb->status));
622622

623+
if (urb->actual_length < sizeof(*data)) {
624+
netdev_warn(netdev, "%s: short int URB: %u < %zu\n",
625+
__func__, urb->actual_length, sizeof(*data));
626+
goto resubmit_urb;
627+
}
628+
623629
switch (urb->status) {
624630
case 0: /* success */
625631
break;

0 commit comments

Comments
 (0)