diff --git a/net/can/j1939/transport.c b/net/can/j1939/transport.c index 4be73de5033c..257740076616 100644 --- a/net/can/j1939/transport.c +++ b/net/can/j1939/transport.c @@ -279,6 +279,9 @@ static void j1939_session_destroy(struct j1939_session *session) while ((skb = skb_dequeue(&session->skb_queue)) != NULL) { /* drop ref taken in j1939_session_skb_queue() */ skb_unref(skb); + if (IS_ENABLED(CONFIG_DEBUG_NET) && + refcount_read(&skb->users) <= 0) + refcount_set(&skb->users, 1); kfree_skb(skb); } __j1939_session_drop(session);