CVE-2026-98458: Bluetooth: ISO: release unused CIS holds after channel attach
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: ISO: release unused CIS holds after channel attach
hcibindcis() and hciconnectcis() return one hciconn hold for the ISO layer. A new channel association consumes that hold, which is eventually released by isoconnfree().
There are two cases where isochanadd() does not create an association: it returns success when the socket is already attached to the same isoconn, and it returns -EBUSY when another socket is attached. The hold returned for the current call is unused in both cases. This occurs when deferred setup calls isoconnectcis() again for its existing socket, or when another socket attempts to reuse the CIS.
Detect the idempotent case while the connection is locked and release the unused hold after isochanadd(). Also release it on -EBUSY. Do not drop it for other errors: a newly allocated isoconn releases the transferred hold when its last temporary reference is put.