OSDN Git Service

can: gw: synchronize rcu operations before removing gw job entry
authorOliver Hartkopp <socketcan@hartkopp.net>
Fri, 18 Jun 2021 17:36:45 +0000 (19:36 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Sat, 19 Jun 2021 21:53:43 +0000 (23:53 +0200)
commitfb8696ab14adadb2e3f6c17c18ed26b3ecd96691
tree573f90a216dca4749d809eae4e1860a08eb06eee
parentd5f9023fa61ee8b94f37a93f08e94b136cf1e463
can: gw: synchronize rcu operations before removing gw job entry

can_can_gw_rcv() is called under RCU protection, so after calling
can_rx_unregister(), we have to call synchronize_rcu in order to wait
for any RCU read-side critical sections to finish before removing the
kmem_cache entry with the referenced gw job entry.

Link: https://lore.kernel.org/r/20210618173645.2238-1-socketcan@hartkopp.net
Fixes: c1aabdf379bc ("can-gw: add netlink based CAN routing")
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/gw.c