summaryrefslogtreecommitdiffstats
path: root/kernel/softirq.c
diff options
context:
space:
mode:
authorOliver Hartkopp <socketcan@hartkopp.net>2022-04-05 19:51:12 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2022-04-17 17:21:22 +0200
commitd73497081710c876c3c61444445512989e102152 (patch)
tree2a2c9c2f7fdb78e3c4b804c51dd2688a28d72605 /kernel/softirq.c
parent49aefd131739df552f83c566d0665744c30b1d70 (diff)
downloadlinux-d73497081710c876c3c61444445512989e102152.tar.gz
linux-d73497081710c876c3c61444445512989e102152.tar.bz2
linux-d73497081710c876c3c61444445512989e102152.zip
can: isotp: stop timeout monitoring when no first frame was sent
The first attempt to fix a the 'impossible' WARN_ON_ONCE(1) in isotp_tx_timer_handler() focussed on the identical CAN IDs created by the syzbot reproducer and lead to upstream fix/commit 3ea566422cbd ("can: isotp: sanitize CAN ID checks in isotp_bind()"). But this did not catch the root cause of the wrong tx.state in the tx_timer handler. In the isotp 'first frame' case a timeout monitoring needs to be started before the 'first frame' is send. But when this sending failed the timeout monitoring for this specific frame has to be disabled too. Otherwise the tx_timer is fired with the 'warn me' tx.state of ISOTP_IDLE. Fixes: e057dd3fc20f ("can: add ISO 15765-2:2016 transport protocol") Link: https://lore.kernel.org/all/20220405175112.2682-1-socketcan@hartkopp.net Reported-by: syzbot+2339c27f5c66c652843e@syzkaller.appspotmail.com Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'kernel/softirq.c')
0 files changed, 0 insertions, 0 deletions