Message ID | 20230202094135.2293939-2-mkl@pengutronix.de (mailing list archive) |
---|---|
State | Accepted |
Commit | d0553680f94c49bbe0e39eb50d033ba563b4212d |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net,1/5] can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate | expand |
Hello: This series was applied to netdev/net.git (master) by Marc Kleine-Budde <mkl@pengutronix.de>: On Thu, 2 Feb 2023 10:41:31 +0100 you wrote: > From: Ziyang Xuan <william.xuanziyang@huawei.com> > > The conclusion "j1939_session_deactivate() should be called with a > session ref-count of at least 2" is incorrect. In some concurrent > scenarios, j1939_session_deactivate can be called with the session > ref-count less than 2. But there is not any problem because it > will check the session active state before session putting in > j1939_session_deactivate_locked(). > > [...] Here is the summary with links: - [net,1/5] can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate https://git.kernel.org/netdev/net/c/d0553680f94c - [net,2/5] can: raw: fix CAN FD frame transmissions over CAN XL devices https://git.kernel.org/netdev/net/c/3793301cbaa4 - [net,3/5] can: isotp: handle wait_event_interruptible() return values https://git.kernel.org/netdev/net/c/823b2e42720f - [net,4/5] can: isotp: split tx timer into transmission and timeout https://git.kernel.org/netdev/net/c/4f027cba8216 - [net,5/5] can: mcp251xfd: mcp251xfd_ring_set_ringparam(): assign missing tx_obj_num_coalesce_irq https://git.kernel.org/netdev/net/c/1613fff7a32e You are awesome, thank you!
diff --git a/net/can/j1939/transport.c b/net/can/j1939/transport.c index 5c722b55fe23..fce9b9ebf13f 100644 --- a/net/can/j1939/transport.c +++ b/net/can/j1939/transport.c @@ -1092,10 +1092,6 @@ static bool j1939_session_deactivate(struct j1939_session *session) bool active; j1939_session_list_lock(priv); - /* This function should be called with a session ref-count of at - * least 2. - */ - WARN_ON_ONCE(kref_read(&session->kref) < 2); active = j1939_session_deactivate_locked(session); j1939_session_list_unlock(priv);