]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Bluetooth: L2CAP: Fix possible crash on l2cap_ecred_conn_rsp
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Mon, 11 May 2026 16:09:42 +0000 (12:09 -0400)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 28 May 2026 12:52:20 +0000 (08:52 -0400)
commit41c2713b204e6cb6a94587bc6bf6935107df5479
treecbbc609498b8b4ea5d94157276bc52455b85029c
parent00e1950716c6ed67d74777b2db286b0fa23b4be9
Bluetooth: L2CAP: Fix possible crash on l2cap_ecred_conn_rsp

If dcid is received for an already-assigned destination CID the spec
requires that both channels to be discarded, but calling l2cap_chan_del
may invalidate the tmp cursor created by list_for_each_entry_safe and
in fact it is the wrong procedure as the chan->dcid may be assigned
previously it really needs to be disconnected.

Calling l2cap_chan_clone directly may still lead to l2cap_chan_del so
instead schedule l2cap_chan_timeout with delay 0 to close the channel
asynchronously.

Fixes: 15f02b910562 ("Bluetooth: L2CAP: Add initial code for Enhanced Credit Based Mode")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/l2cap_core.c