From: Davide Caratti dcaratti@redhat.com
[ Upstream commit 8b1879491472c145c58c3cbbaf0e05ea93ee5ddf ]
Like other protocols on top of AF_CAN family, also j1939_proto.inuse_idx needs to be decremented on socket dismantle.
Fixes: 6bffe88452db ("can: add protocol counter for AF_CAN sockets") Reported-by: Oliver Hartkopp socketcan@hartkopp.net Closes: https://lore.kernel.org/linux-can/7e35b13f-bbc4-491e-9081-fb939e1b8df0@hartk... Signed-off-by: Davide Caratti dcaratti@redhat.com Acked-by: Oleksij Rempel o.rempel@pengutronix.de Link: https://patch.msgid.link/09ce71f281b9e27d1e3d1104430bf3fceb8c7321.1742292636... Signed-off-by: Marc Kleine-Budde mkl@pengutronix.de Signed-off-by: Sasha Levin sashal@kernel.org --- net/can/j1939/socket.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/net/can/j1939/socket.c b/net/can/j1939/socket.c index 17226b2341d03..6fefe7a687611 100644 --- a/net/can/j1939/socket.c +++ b/net/can/j1939/socket.c @@ -655,6 +655,7 @@ static int j1939_sk_release(struct socket *sock) sock->sk = NULL;
release_sock(sk); + sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1); sock_put(sk);
return 0;