]> git.baikalelectronics.ru Git - kernel.git/commit
can: isotp: split tx timer into transmission and timeout
authorOliver Hartkopp <socketcan@hartkopp.net>
Wed, 4 Jan 2023 14:57:01 +0000 (15:57 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Feb 2023 10:28:15 +0000 (11:28 +0100)
commit81212f0e36ebd883fd1c7b4638c54181634d50ba
tree6c8d3c7b96aa4468aaee4ff771aa605a5e8a5978
parent7facf652bbb44649af4465d218938874f214f485
can: isotp: split tx timer into transmission and timeout

commit 0d278312f34776edcb74998028a491611fcd92e5 upstream.

The timer for the transmission of isotp PDUs formerly had two functions:
1. send two consecutive frames with a given time gap
2. monitor the timeouts for flow control frames and the echo frames

This led to larger txstate checks and potentially to a problem discovered
by syzbot which enabled the panic_on_warn feature while testing.

The former 'txtimer' function is split into 'txfrtimer' and 'txtimer'
to handle the two above functionalities with separate timer callbacks.

The two simplified timers now run in one-shot mode and make the state
transitions (especially with isotp_rcv_echo) better understandable.

Fixes: 608b14e6671e ("can: isotp: fix tx state handling for echo tx processing")
Reported-by: syzbot+5aed6c3aaba661f5b917@syzkaller.appspotmail.com
Cc: stable@vger.kernel.org # >= v6.0
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/all/20230104145701.2422-1-socketcan@hartkopp.net
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/can/isotp.c