From nobody Sun Feb 8 15:58:31 2026 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CCC022F5485 for ; Thu, 18 Dec 2025 02:59:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766026794; cv=none; b=sytF/ysg21nyzXWBI2YoZRpjVRYHRZwa7gNfcWtsraWr2zSUS8gdYFdYY2xLRJnK71BTUf2se0IaeVLyOf4PjHC728qt0i1HMO1r6c0taun4IlSJQAgYeaey/Yzq8oNSxApgUnqJMrT/TXhVza1Q6rjIPOBYsg5K4K+q1LvwG68= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766026794; c=relaxed/simple; bh=JMe1NKX9+LRlV6iB7gIIlQogjxDZeA3/lEGWMoqAGZE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=YNzFq5GwknyHW4MIdEsB2dMc5wsYqlBOIg1P59Clqcl6ctcHh7MlIYFSosxS5g4RykTbkR9r5ekmenu4fWKnd8FUY04p8oimRIknsDDjStLxKI8Iim5nZsBM5BKRB0PcdebxGdNDe410FlTD2WQCg3Lsw7Aq27LQd+TpOwd/GOM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bHoNMrAz; arc=none smtp.client-ip=209.85.215.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bHoNMrAz" Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-bc0dd142007so1259a12.2 for ; Wed, 17 Dec 2025 18:59:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766026790; x=1766631590; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lhtvv/nnzcntvywC/tr4tbEvzKikdNZmh60gHEEDoPQ=; b=bHoNMrAzTAOPHm8y/yiVGYlGhAgePCkPtvKXARRfsg55uZFV/yJ6iHvQlqmc4z3uiB 4Q0zZWiI/L4O5x+E2ufVlsBS64g3TKr6+1rxC+zODI4NbMhN5s1iQVgBkGZ2+cK8v0xH uXpMDBW9WFe6ARRo98aTlum5j9ofR4MzFOJ5TBcBFKzTsJdwi35d0AtRSBmjXuFxa0O8 N0vDp6urArWyx/fuAWK6PW7BJft+5m4am3fWkY3BXzlfrylDMANesE2XLy8Gr6qPMqb3 yp6zk1no+IcEBMhNIg+3JR28UJBeSZVzuRL9QGc6FgXoxzbtQyh/PODwr0h3VAblIiTM dDug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766026790; x=1766631590; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lhtvv/nnzcntvywC/tr4tbEvzKikdNZmh60gHEEDoPQ=; b=JH9SduScNBuJz8RcSuy54jvoSWVBdWSPmrmMG3zzJl4ZTZTsf1PWuRpOWlyfl+D23R 469rx19pfa6Kmy873XRUzQNh/a4uk5b8regeKp+/hSa4AatTitgLt6hPMv2C1Zm9JbBh NSedwrj6XYrBAutXmWU98SdGZv07TzhmNl12g0RaXfnX4W+E87GfkUi4icgiStJ1KOac rCxEcFnNcLU7hOfKTRn/rZIy8YCiUGl8+YJw594yYHXsocfrHPYZTi2vUDzWJUxwoytY TKxvJNe5a2/bajGKEhpmzdzQ0vbaAjbXzqGjzfJUopxyM+ReG9UEvg9JyLpCUgTgoj4m zOPg== X-Forwarded-Encrypted: i=1; AJvYcCV2NpZeHPVQySL88btrHPyJQQMZu8qHw6PR8VtNmy7F48rvRGhhy9GaDooZ7E7Yes5oJw9RcDcYx3CvXpg=@vger.kernel.org X-Gm-Message-State: AOJu0YzdYOwrJD/8yJjAH06NA8QHxchMHtxC7hFRPev5s/LX9XqjEgZd CoDOVcKi0i0R1iQ1qoARvY7/BE1paauqjKTaVoZpACeK3+lUHWO9h971 X-Gm-Gg: AY/fxX5n0ibdvpeN4qhcQR7aUTKijRpzFPwI0YdR9sJYRQg7pB+HHXhWtr2lvJWMjwg ZSEvcxOOdDTZw5Ckx43F+fOpTuDTtcghnZqhUwV3R/yAWv8XDkuem1HrN6vixBTzJZEGJrk0LaN m3V6cEtn86xMbCXqMsZjWmZ4G1SsEzLMad1JNN1zdw7bL7gQuGQpEELFALHiCBwtC0i+4diXudN nSDI5dGtk12knMsdBmNh6gusa3swtYAervlkjKSBjCCe+ujHmzIZTyJd2bmU2O3zRXtXXLLcXul 9A5fYyvPQ4AItDSTyXnN1lokuQnvz0iTxOS05yxpV7LFjE3HeX9Jrlad05Lp1izaMJV552jl8Hg Cm7GRNEDnpk1nC6FUWGt9XyXjpGj2m14iOdgqbo36/eyHI00NZTPwHYX0FomoDihOKGDAWY/U4r XYdzixmgvs5BfGm0Ea6REpqrAb5H5awtKPKUID+aYIXDdxWsVWw0600GPkKyBa0EgG9Wmqg6tb X-Google-Smtp-Source: AGHT+IEXXsNXo4V+iPeVdeilF/ogXTHJKXHWyVHS1SyqG1zKI5aoRlu8AfsEk4yQBcYSiqZPunOd3A== X-Received: by 2002:a05:6a00:2d8d:b0:7ab:9850:25fb with SMTP id d2e1a72fcca58-7fe5188753cmr535463b3a.2.1766026789805; Wed, 17 Dec 2025 18:59:49 -0800 (PST) Received: from poi.localdomain (KD118158218050.ppp-bb.dion.ne.jp. [118.158.218.50]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7fe14a5727fsm800985b3a.69.2025.12.17.18.59.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Dec 2025 18:59:49 -0800 (PST) From: Qianchang Zhao To: netdev@vger.kernel.org Cc: Krzysztof Kozlowski , Paolo Abeni , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Simon Horman , linux-kernel@vger.kernel.org, stable@vger.kernel.org, Zhitong Liu , Qianchang Zhao Subject: [PATCH v3 2/2] nfc: llcp: stop processing on LLCP_CLOSED in nfc_llcp_recv_hdlc() Date: Thu, 18 Dec 2025 11:59:23 +0900 Message-Id: <20251218025923.22101-3-pioooooooooip@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20251218025923.22101-1-pioooooooooip@gmail.com> References: <20251218025923.22101-1-pioooooooooip@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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.=09 Return immediately after the CLOSED cleanup to avoid refcount/lock=20 imbalance and to avoid using the socket after dropping the reference. Fixes: d646960f7986 ("NFC: Initial LLCP support") Cc: stable@vger.kernel.org Signed-off-by: Qianchang Zhao --- 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 ed37604ed..f6c1d79f9 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 =3D=3D LLCP_CLOSED) { release_sock(sk); nfc_llcp_sock_put(llcp_sock); + return; } =20 /* Pass the payload upstream */ --=20 2.34.1