Bluetooth: l2cap: always unlock channel in l2cap_conless_channel()
[ Upstream commit c531e63871c0b50c8c4e62c048535a08886fba3e ]
Add missing call to 'l2cap_chan_unlock()' on receive error handling
path in 'l2cap_conless_channel()'.
Fixes: a24cce144b ("Bluetooth: Fix reference counting of global L2CAP channels")
Reported-by: syzbot+45ac74737e866894acb0@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=45ac74737e866894acb0
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
3840189e46
commit
64f4938368
@@ -7055,6 +7055,7 @@ static void l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm,
|
|||||||
bt_cb(skb)->l2cap.psm = psm;
|
bt_cb(skb)->l2cap.psm = psm;
|
||||||
|
|
||||||
if (!chan->ops->recv(chan, skb)) {
|
if (!chan->ops->recv(chan, skb)) {
|
||||||
|
l2cap_chan_unlock(chan);
|
||||||
l2cap_chan_put(chan);
|
l2cap_chan_put(chan);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user