* [PATCH] nfc: llcp: stop processing on LLCP_CLOSED in nfc_llcp_recv_hdlc() [not found] <307c2afe-8e8e-4edf-b6d1-1056fe8949f6@kernel.org> @ 2025-12-17 1:15 ` Qianchang Zhao 2025-12-17 7:35 ` Krzysztof Kozlowski 0 siblings, 1 reply; 2+ messages in thread From: Qianchang Zhao @ 2025-12-17 1:15 UTC (permalink / raw) To: Krzysztof Kozlowski, Paolo Abeni, Jakub Kicinski Cc: David S. Miller, Eric Dumazet, Simon Horman, netdev, linux-kernel, stable, Zhitong Liu, Qianchang Zhao nfc_llcp_sock_get() takes a reference on the LLCP socket via sock_hold(). In nfc_llcp_recv_hdlc(), the LLCP_CLOSED branch releases the socket lock and drops the reference, but the function continues to operate on llcp_sock/sk and later runs release_sock() and nfc_llcp_sock_put() again on the common exit path. Return immediately after the CLOSED cleanup to avoid refcount/lock imbalance and to avoid using the socket after dropping the reference. Reported-by: Qianchang Zhao <pioooooooooip@gmail.com> Reported-by: Zhitong Liu <liuzhitong1993@gmail.com> Cc: stable@vger.kernel.org Signed-off-by: Qianchang Zhao <pioooooooooip@gmail.com> --- net/nfc/llcp_core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/nfc/llcp_core.c b/net/nfc/llcp_core.c index beeb3b4d2..be01ec9f4 100644 --- a/net/nfc/llcp_core.c +++ b/net/nfc/llcp_core.c @@ -1089,6 +1089,7 @@ static void nfc_llcp_recv_hdlc(struct nfc_llcp_local *local, if (sk->sk_state == LLCP_CLOSED) { release_sock(sk); nfc_llcp_sock_put(llcp_sock); + return; } /* Pass the payload upstream */ -- 2.34.1 ^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] nfc: llcp: stop processing on LLCP_CLOSED in nfc_llcp_recv_hdlc() 2025-12-17 1:15 ` [PATCH] nfc: llcp: stop processing on LLCP_CLOSED in nfc_llcp_recv_hdlc() Qianchang Zhao @ 2025-12-17 7:35 ` Krzysztof Kozlowski 0 siblings, 0 replies; 2+ messages in thread From: Krzysztof Kozlowski @ 2025-12-17 7:35 UTC (permalink / raw) To: Qianchang Zhao, Paolo Abeni, Jakub Kicinski Cc: David S. Miller, Eric Dumazet, Simon Horman, netdev, linux-kernel, stable, Zhitong Liu On 17/12/2025 02:15, Qianchang Zhao wrote: > nfc_llcp_sock_get() takes a reference on the LLCP socket via sock_hold(). > > In nfc_llcp_recv_hdlc(), the LLCP_CLOSED branch releases the socket lock and > drops the reference, but the function continues to operate on llcp_sock/sk and > later runs release_sock() and nfc_llcp_sock_put() again on the common exit path. > > Return immediately after the CLOSED cleanup to avoid refcount/lock imbalance and > to avoid using the socket after dropping the reference. > > Reported-by: Qianchang Zhao <pioooooooooip@gmail.com> > Reported-by: Zhitong Liu <liuzhitong1993@gmail.com> No, drop. Same comments as for other patch. Organize your patches in a patchset. Don't send independent works, it's just more work for maintainers to apply. > Cc: stable@vger.kernel.org > Signed-off-by: Qianchang Zhao <pioooooooooip@gmail.com> > --- > net/nfc/llcp_core.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/nfc/llcp_core.c b/net/nfc/llcp_core.c > index beeb3b4d2..be01ec9f4 100644 > --- a/net/nfc/llcp_core.c > +++ b/net/nfc/llcp_core.c > @@ -1089,6 +1089,7 @@ static void nfc_llcp_recv_hdlc(struct nfc_llcp_local *local, > if (sk->sk_state == LLCP_CLOSED) { > release_sock(sk); > nfc_llcp_sock_put(llcp_sock); > + return; Answer my previous questions from the private thread. > } > > /* Pass the payload upstream */ Best regards, Krzysztof ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-12-17 7:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <307c2afe-8e8e-4edf-b6d1-1056fe8949f6@kernel.org>
2025-12-17 1:15 ` [PATCH] nfc: llcp: stop processing on LLCP_CLOSED in nfc_llcp_recv_hdlc() Qianchang Zhao
2025-12-17 7:35 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox