]> git.baikalelectronics.ru Git - kernel.git/commit
can: isotp: fix error path in isotp_sendmsg() to unlock wait queue
authorOliver Hartkopp <socketcan@hartkopp.net>
Wed, 9 Feb 2022 07:36:01 +0000 (08:36 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 9 Feb 2022 07:47:47 +0000 (08:47 +0100)
commite428b798c6ef485c0f9d3bf70fcca8d26e599c1c
tree656f7e2961ac5825aff32ed92ec3d88c4ef298e5
parent0b39af3cebab3d2d56f47c895427576adff22626
can: isotp: fix error path in isotp_sendmsg() to unlock wait queue

Commit 968a6ffd9bcb ("can: isotp: isotp_sendmsg(): fix TX buffer concurrent
access in isotp_sendmsg()") introduced a new locking scheme that may render
the userspace application in a locking state when an error is detected.
This issue shows up under high load on simultaneously running isotp channels
with identical configuration which is against the ISO specification and
therefore breaks any reasonable PDU communication anyway.

Fixes: 968a6ffd9bcb ("can: isotp: isotp_sendmsg(): fix TX buffer concurrent access in isotp_sendmsg()")
Link: https://lore.kernel.org/all/20220209073601.25728-1-socketcan@hartkopp.net
Cc: stable@vger.kernel.org
Cc: Ziyang Xuan <william.xuanziyang@huawei.com>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/isotp.c