]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
can: fix missing decrement of j1939_proto.inuse_idx
authorDavide Caratti <dcaratti@redhat.com>
Tue, 18 Mar 2025 10:21:41 +0000 (11:21 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Tue, 15 Apr 2025 10:18:07 +0000 (12:18 +0200)
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@hartkopp.net/
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Acked-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://patch.msgid.link/09ce71f281b9e27d1e3d1104430bf3fceb8c7321.1742292636.git.dcaratti@redhat.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
net/can/j1939/socket.c

index 17226b2341d03df872bea585fc5c38f5b3797cc2..6fefe7a687611679e4adbe9874bd500ef918d4c0 100644 (file)
@@ -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;