]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: ISO: lock sk in iso_sock_getname
authorPauli Virtanen <pav@iki.fi>
Fri, 24 Jul 2026 20:20:25 +0000 (23:20 +0300)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tue, 28 Jul 2026 20:13:11 +0000 (16:13 -0400)
Accessing iso_pi(sk)->conn requires lock_sock, which is not held here.

Fix by adding the lock/release.

Fixes: 2df108c227b2 ("Bluetooth: ISO: Fix using BT_SK_PA_SYNC to detect BIS sockets")
Signed-off-by: Pauli Virtanen <pav@iki.fi>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/iso.c

index 299a9336b5e117fa612cf1dd64e0ede0a7dd8f97..dbb8f43052f05722ffd625a6380dc8dccecf28b9 100644 (file)
@@ -1472,6 +1472,8 @@ static int iso_sock_getname(struct socket *sock, struct sockaddr *addr,
 
        BT_DBG("sock %p, sk %p", sock, sk);
 
+       lock_sock(sk);
+
        addr->sa_family = AF_BLUETOOTH;
 
        if (peer) {
@@ -1493,6 +1495,8 @@ static int iso_sock_getname(struct socket *sock, struct sockaddr *addr,
                sa->iso_bdaddr_type = iso_pi(sk)->src_type;
        }
 
+       release_sock(sk);
+
        return len;
 }