From: Simon Horman <horms@kernel.org>
To: zihanx@nebusec.ai
Cc: netdev@vger.kernel.org, davem@davemloft.net, edumazet@google.com,
kuba@kernel.org, pabeni@redhat.com, kees@kernel.org,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
vega@nebusec.ai
Subject: Re: [PATCH net v7 1/1] llc: fix listener child socket leaks before passive open completes
Date: Sun, 6 Sep 2026 13:44:19 +0100 [thread overview]
Message-ID: <20260906124419.GI40544@horms.kernel.org> (raw)
In-Reply-To: <20260906101149.215761-1-horms@kernel.org>
On Sun, Sep 06, 2026 at 11:11:49AM +0100, Simon Horman wrote:
> This is an AI-generated review of your patch. The human sending this
> email has considered the AI review valid, or at least plausible.
> Full review at: https://sashiko.dev/#/patchset/0b8964c9cd294898c9657fd34c9d04cec77782eb.1788414881.git.zihanx@nebusec.ai?part=1
Sorry, I've made mistake here.
I think the issue flagged below is actually out of scope wrt the
progress of your patch.
What I meant to forward was a separate AI-generated review at
https://netdev-ai.bots.linux.dev/sashiko/#/patchset/0b8964c9cd294898c9657fd34c9d04cec77782eb.1788414881.git.zihanx%40nebusec.ai
I will do so in a separate email.
> ---
> llc: fix listener child socket leaks before passive open completes
>
> This patch addresses a child socket leak in the LLC subsystem during passive
> opens. It ensures that children are only created for SABME commands, avoiding
> leaks caused by non-SABME frames that never complete the connection. It also
> improves teardown and lifecycle management for incoming child sockets.
>
> > diff --git a/net/llc/llc_conn.c b/net/llc/llc_conn.c
> > index 260460d50f54c..092625e28b3bb 100644
> > --- a/net/llc/llc_conn.c
> > +++ b/net/llc/llc_conn.c
> > @@ -88,6 +89,13 @@ int llc_conn_state_process(struct sock *sk, struct sk_buff *skb)
> > * skb->sk pointing to the newly created struct sock in
> > * llc_conn_handler. -acme
> > */
> > + if (sk != skb->sk &&
> > + atomic_read(&llc_sk(skb->sk)->incoming_state) ==
> > + LLC_INCOMING_PENDING) {
> > + sock_hold(skb->sk);
> > + atomic_set(&llc_sk(skb->sk)->incoming_state,
> > + LLC_INCOMING_QUEUED);
> > + }
> > skb_get(skb);
> > skb_queue_tail(&sk->sk_receive_queue, skb);
>
> [Severity: High]
> This isn't a bug introduced by this patch, but is it possible for an attacker
> to exhaust kernel memory (OOM) via unbounded SABME flooding?
>
> Looking at llc_conn_state_process(), the new connection skb is queued directly
> to the listener's sk_receive_queue without checking if the accept queue is
> full (for example, by checking sk_acceptq_is_full(sk)).
>
> Because llc_conn_handler() allocates a new child socket for each SABME packet,
> could a flood of spoofed SABME frames from the local subnet cause this queue
> to grow without bound?
next prev parent reply other threads:[~2026-09-06 12:44 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 8:01 [PATCH net v7 0/1] llc: fix listener child socket leaks before passive open completes Zihan Xi
2026-09-03 8:01 ` [PATCH net v7 1/1] " Zihan Xi
2026-09-06 10:11 ` Simon Horman
2026-09-06 12:44 ` Simon Horman [this message]
2026-09-06 12:45 ` Simon Horman
2026-09-06 13:22 ` zihan xi
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=20260906124419.GI40544@horms.kernel.org \
--to=horms@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kees@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=stable@vger.kernel.org \
--cc=vega@nebusec.ai \
--cc=zihanx@nebusec.ai \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.