From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org
Cc: Sasha Levin <sashal@kernel.org>,
kernel-team@android.com, Lee Jones <lee@kernel.org>,
Marcel Holtmann <marcel@holtmann.org>,
Johan Hedberg <johan.hedberg@gmail.com>,
"David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>,
linux-bluetooth@vger.kernel.org, netdev@vger.kernel.org,
Luiz Augusto von Dentz <luiz.von.dentz@intel.com>,
syzbot+4c0d0c4cde787116d465@syzkaller.appspotmail.com,
Xiangyu Chen <xiangyu.chen@windriver.com>,
He Zhe <zhe.he@windriver.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Todd Kjos <tkjos@google.com>
Subject: Re: [PATCH 1/2 5.10.y] Bluetooth: SCO: Fix UAF on sco_sock_timeout
Date: Tue, 4 Aug 2026 21:13:29 -0400 [thread overview]
Message-ID: <20260805011006.stable-0007@kernel.org> (raw)
In-Reply-To: <20260804214406.750710-1-tkjos@google.com>
On Tue, Aug 04, 2026 at 09:44:05PM +0000, Todd Kjos wrote:
> @@ -192,7 +200,7 @@ static void sco_conn_del(struct hci_conn *hcon, int err)
>
> /* Kill socket */
> sco_conn_lock(conn);
> - sk = conn->sk;
> + sk = sco_sock_hold(conn);
> sco_conn_unlock(conn);
>
> if (sk) {
I think that this hunk leaks a struct sock reference on 5.10.
Unlike upstream and the 5.15/6.1 backports, where the sock_hold(sk) sits
just before sco_conn_unlock() and the upstream hunk deletes it, 5.10 keeps
its sock_hold(sk) inside the condition:
sco_conn_lock(conn);
sk = conn->sk;
sco_conn_unlock(conn);
if (sk) {
sock_hold(sk);
bh_lock_sock(sk);
sco_sock_clear_timer(sk);
sco_chan_del(sk, err);
bh_unlock_sock(sk);
sock_put(sk);
}
So after this patch the function takes two references (one in
sco_sock_hold(), one from the surviving sock_hold(sk)) and drops only one.
That is a permanent struct sock leak on every SCO teardown, reachable by
any user with repeated connect/disconnect.
While respinning, please also drop the Change-Id: trailers from both
patches.
--
Thanks,
Sasha
next prev parent reply other threads:[~2026-08-05 1:13 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-04 21:44 [PATCH 1/2 5.10.y] Bluetooth: SCO: Fix UAF on sco_sock_timeout Todd Kjos
2026-08-04 21:44 ` [PATCH 2/2 5.10.y] Bluetooth: SCO: Fix use-after-free in sco_recv_frame() due to missing sock_hold Todd Kjos
2026-08-04 22:09 ` [1/2,5.10.y] Bluetooth: SCO: Fix UAF on sco_sock_timeout bluez.test.bot
2026-08-05 1:13 ` Sasha Levin [this message]
2026-08-05 19:16 ` [PATCH 1/2 5.10.y] " Todd Kjos
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260805011006.stable-0007@kernel.org \
--to=sashal@kernel.org \
--cc=davem@davemloft.net \
--cc=gregkh@linuxfoundation.org \
--cc=johan.hedberg@gmail.com \
--cc=kernel-team@android.com \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.von.dentz@intel.com \
--cc=marcel@holtmann.org \
--cc=netdev@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=syzbot+4c0d0c4cde787116d465@syzkaller.appspotmail.com \
--cc=tkjos@google.com \
--cc=xiangyu.chen@windriver.com \
--cc=zhe.he@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox