]> git.baikalelectronics.ru Git - kernel.git/commit
can: af_can: can_rx_unregister(): remove WARN() statement from list operation sanity...
authorOliver Hartkopp <socketcan@hartkopp.net>
Thu, 26 Nov 2020 19:21:40 +0000 (20:21 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 27 Nov 2020 09:49:28 +0000 (10:49 +0100)
commit7d1cd04f93cc511347cbbe697150cc12605be35a
tree4ca1fa9ce82b83b636d80efc7dc4c3af5d1d8e2b
parent9298411d5a1b1e43ebad5958de09952ed6904c2b
can: af_can: can_rx_unregister(): remove WARN() statement from list operation sanity check

To detect potential bugs in CAN protocol implementations (double removal of
receiver entries) a WARN() statement has been used if no matching list item was
found for removal.

The fault injection issued by syzkaller was able to create a situation where
the closing of a socket runs simultaneously to the notifier call chain for
removing the CAN network device in use.

This case is very unlikely in real life but it doesn't break anything.
Therefore we just replace the WARN() statement with pr_warn() to preserve the
notification for the CAN protocol development.

Reported-by: syzbot+381d06e0c8eaacb8706f@syzkaller.appspotmail.com
Reported-by: syzbot+d0ddd88c9a7432f041e6@syzkaller.appspotmail.com
Reported-by: syzbot+76d62d3b8162883c7d11@syzkaller.appspotmail.com
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Link: https://lore.kernel.org/r/20201126192140.14350-1-socketcan@hartkopp.net
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/af_can.c