On 05.01.23 10:32, Marc Kleine-Budde wrote:
On 04.01.2023 17:46:05, Oliver Hartkopp wrote:
When wait_event_interruptible() has been interrupted by a signal the tx.state value might not be ISOTP_IDLE. Force the state machines into idle state to inhibit the timer handlers to continue working.
Cc: stable@vger.kernel.org # >= v5.15 Signed-off-by: Oliver Hartkopp socketcan@hartkopp.net
Can you add a Fixes: tag?
Yes. Sent out a V3.
In fact I was not sure if it makes sense to apply the patch down to Linux 5.10 as it might increase the possibility to trigger a WARN(1) in the isotp_tx_timer_handler().
The patch is definitely helpful for the latest code including commit 4b7fe92c0690 ("can: isotp: add local echo tx processing for consecutive frames") introduced in Linux 5.18 and its fixes.
I did some testing with very long ISOTP PDUs and killed the waiting isotp_release() with a Crtl-C.
To prevent the WARN(1) we might also stick this patch to
Fixes: 866337865f37 ("can: isotp: fix tx state handling for echo tx processing")
What do you think about the WARN(1)?
Best regards, Oliver