From nobody Tue Jun 30 14:23:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id CBFA5C433FE for ; Sat, 15 Jan 2022 12:27:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231579AbiAOM1Q (ORCPT ); Sat, 15 Jan 2022 07:27:16 -0500 Received: from smtp-relay-internal-0.canonical.com ([185.125.188.122]:47504 "EHLO smtp-relay-internal-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230484AbiAOM1C (ORCPT ); Sat, 15 Jan 2022 07:27:02 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 9258E402A3 for ; Sat, 15 Jan 2022 12:26:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1642249617; bh=zOPm6FbYYyMSwfxLvkRzL4Z981RZYudJxTNTqLX9Fek=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=hPcW6J5XBELywkGxSm6BpY2FjxX2FxCs6xuz83qeyhrC/38SCvntdOz+aM5GvFtRP wWe4OVCefHaP56cH1XWoirkJzFAVRVJ2vFtfoB411JCwmw3O/7RS/SVTKHXg4II/6m zUH+6VvXKcwDtq1f3VXX6VcLN/Y2EXxslHon1ud1TSONpc6n71MiShi6XZmOJWxX+/ qDZdr5KGYv5pBhOxKC8YOYT1VLIO0lBBIamAL0gyiWYKpuCsWC2IpuH3OPxXg7PD81 51k42fH7niBLZX4o17qKxjJmawi/1EBZV8Dp1V56EQgkjaCUPe/cYT1PECnOTg/3x7 X334cp161DExw== Received: by mail-wm1-f69.google.com with SMTP id f7-20020a1cc907000000b0034b63f314ccso2661988wmb.6 for ; Sat, 15 Jan 2022 04:26:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zOPm6FbYYyMSwfxLvkRzL4Z981RZYudJxTNTqLX9Fek=; b=6tJdstpdRNhxOqoNAD+3mK98qCU46NREHwEuybxLqqRFKihWqEj8hP/od/khVcQG35 3vrlF9cnKR8KCioSYuWheSNNel79u7J3ZJpIlJD8trxNEgBIoud1Uj6h6WjRuT/GzqXt DkOAZjjIVmoNaVDXCA3VwZN2q0VUSgTAp5S20mK/kkAjK4LhbbSvu/ouD/wWpi+8MxFQ hq9NxxDi85C9Sna+n9mkc4pam+UISCFisLjOf+k+XRDH0xyLeWWUWnMkd/KeGIKjA3zw aCGAmWVfcqa+6hRAC6LzswtGrCI3wMitWSYtgAUTRsjq/XIicJ5xF6AjndeIfLogwbDh NVfA== X-Gm-Message-State: AOAM5327xBO7sKirDUQ3na/3JFwB70gSCxs0KUBwKS+On1Oc25lrd5sx NWod7XLfS19peKi9k+lWSnMSvNG/bU2zMb4LavG1/R6SAambZ6AodgMg9IHUr547hejCgNByvmL DNP0tXakE75hgfuBs8wLIGDOY/kWg7/58ffj4VjkdOw== X-Received: by 2002:adf:ec04:: with SMTP id x4mr11680482wrn.688.1642249616333; Sat, 15 Jan 2022 04:26:56 -0800 (PST) X-Google-Smtp-Source: ABdhPJzgIS3ERL+kQQ2s/1KY8gz3ov5974t4pocea/WSltWsoYThkoVVF5w/zE3maTb43pWLhNWOXQ== X-Received: by 2002:adf:ec04:: with SMTP id x4mr11680471wrn.688.1642249616161; Sat, 15 Jan 2022 04:26:56 -0800 (PST) Received: from localhost.localdomain (xdsl-188-155-168-84.adslplus.ch. [188.155.168.84]) by smtp.gmail.com with ESMTPSA id bk17sm7878476wrb.105.2022.01.15.04.26.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 04:26:55 -0800 (PST) From: Krzysztof Kozlowski To: Krzysztof Kozlowski , "David S. Miller" , Jakub Kicinski , linux-nfc@lists.01.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Cc: syzbot+7f23bcddf626e0593a39@syzkaller.appspotmail.com, stable@vger.kernel.org Subject: [PATCH 1/7] nfc: llcp: fix NULL error pointer dereference on sendmsg() after failed bind() Date: Sat, 15 Jan 2022 13:26:44 +0100 Message-Id: <20220115122650.128182-2-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> References: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Syzbot detected a NULL pointer dereference of nfc_llcp_sock->dev pointer (which is a 'struct nfc_dev *') with calls to llcp_sock_sendmsg() after a failed llcp_sock_bind(). The message being sent is a SOCK_DGRAM. KASAN report: BUG: KASAN: null-ptr-deref in nfc_alloc_send_skb+0x2d/0xc0 Read of size 4 at addr 00000000000005c8 by task llcp_sock_nfc_a/899 CPU: 5 PID: 899 Comm: llcp_sock_nfc_a Not tainted 5.16.0-rc6-next-2021122= 4-00001-gc6437fbf18b0 #125 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/0= 1/2014 Call Trace: dump_stack_lvl+0x45/0x59 ? nfc_alloc_send_skb+0x2d/0xc0 __kasan_report.cold+0x117/0x11c ? mark_lock+0x480/0x4f0 ? nfc_alloc_send_skb+0x2d/0xc0 kasan_report+0x38/0x50 nfc_alloc_send_skb+0x2d/0xc0 nfc_llcp_send_ui_frame+0x18c/0x2a0 ? nfc_llcp_send_i_frame+0x230/0x230 ? __local_bh_enable_ip+0x86/0xe0 ? llcp_sock_connect+0x470/0x470 ? llcp_sock_connect+0x470/0x470 sock_sendmsg+0x8e/0xa0 ____sys_sendmsg+0x253/0x3f0 ... The issue was visible only with multiple simultaneous calls to bind() and sendmsg(), which resulted in most of the bind() calls to fail. The bind() was failing on checking if there is available WKS/SDP/SAP (respective bit in 'struct nfc_llcp_local' fields). When there was no available WKS/SDP/SAP, the bind returned error but the sendmsg() to such socket was able to trigger mentioned NULL pointer dereference of nfc_llcp_sock->dev. The code looks simply racy and currently it protects several paths against race with checks for (!nfc_llcp_sock->local) which is NULL-ified in error paths of bind(). The llcp_sock_sendmsg() did not have such check but called function nfc_llcp_send_ui_frame() had, although not protected with lock_sock(). Therefore the race could look like (same socket is used all the time): CPU0 CPU1 =3D=3D=3D=3D =3D=3D=3D=3D llcp_sock_bind() - lock_sock() - success - release_sock() - return 0 llcp_sock_sendmsg() - lock_sock() - release_sock() llcp_sock_bind(), same socket - lock_sock() - error - nfc_llcp_send_ui_frame() - if (!llcp_sock->local) - llcp_sock->local =3D NULL - nfc_put_device(dev) - dereference llcp_sock->dev - release_sock() - return -ERRNO The nfc_llcp_send_ui_frame() checked llcp_sock->local outside of the lock, which is racy and ineffective check. Instead, its caller llcp_sock_sendmsg(), should perform the check inside lock_sock(). Reported-by: syzbot+7f23bcddf626e0593a39@syzkaller.appspotmail.com Fixes: b874dec21d1c ("NFC: Implement LLCP connection less Tx path") Cc: Signed-off-by: Krzysztof Kozlowski --- net/nfc/llcp_sock.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index 6cfd30fc0798..0b93a17b9f11 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c @@ -789,6 +789,11 @@ static int llcp_sock_sendmsg(struct socket *sock, stru= ct msghdr *msg, =20 lock_sock(sk); =20 + if (!llcp_sock->local) { + release_sock(sk); + return -ENODEV; + } + if (sk->sk_type =3D=3D SOCK_DGRAM) { DECLARE_SOCKADDR(struct sockaddr_nfc_llcp *, addr, msg->msg_name); --=20 2.32.0 From nobody Tue Jun 30 14:23:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9FEC3C4332F for ; Sat, 15 Jan 2022 12:27:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231410AbiAOM1N (ORCPT ); Sat, 15 Jan 2022 07:27:13 -0500 Received: from smtp-relay-internal-0.canonical.com ([185.125.188.122]:47506 "EHLO smtp-relay-internal-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230483AbiAOM1C (ORCPT ); Sat, 15 Jan 2022 07:27:02 -0500 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 9B0B0402A9 for ; Sat, 15 Jan 2022 12:26:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1642249617; bh=YRVG1n1vJA0XrL2lVGuLt3uwESm9x/YKDmWmaL4GYfI=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=H3CMewKeO69OXAD8wdQuU4iFH6ILu5Dmvzh5ssQmTv30Kjg+AZiyAXWtLULNrqvDD XOU82J2C9PA4xVhi2rE8aJ/HoequCobV3KOA3B1DKyZ/wb8+hfs33nMinzJq5kTP7R GSaxb+Uyl1LRHsF2eC5Zbb/MGMrrrvurfWKg+R/lcF1nv8N0E2U3zqQTjYDnW+CKlC rjFuneMVKfujNxcmUGsAVF3yAEfl5jlPXhuyVqrzCEjpOkCjS6me0h81LC6A+zPZy+ lN4rMRsbKzRZNbXayaloWEn/d2o8sWqAXckUu4g2sxRQlBmRGADdRXHYiMHWO25RT/ h87ZSCu5Q9dOw== Received: by mail-wm1-f71.google.com with SMTP id w5-20020a1cf605000000b0034b8cb1f55eso845094wmc.0 for ; Sat, 15 Jan 2022 04:26:57 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YRVG1n1vJA0XrL2lVGuLt3uwESm9x/YKDmWmaL4GYfI=; b=i3p8W/v9MGv01hH87zUKpTCDTsGoEvh9AMxIeSqyEnrNOqYM5Q77310QYBAoQuqoBa g6J+5NHtn1Y7tkHPD0gPO3EV6yS63AgKyrgU7yOCK3pl6bXMT02hrM+ghOLhSisaKGsA F5S/Y3+Udmamq/jxL+Ma13sNd7K+cTaMvkDetgww5VVsDGW+nzyGxknYQNVVr2WFJu2X PhFqOsBtsozZGVZJrkp17L1yF/MiUWe5vEVLJIaPd4vit/wrKxJF+KTNteE6Ume41YFr Ik7o+BpjBYkzkOGQGKrBAB2dz2DFSZMyX9EpEGRUYspXuErcfeEcLnSFnvs0B+sNvk0H CdIw== X-Gm-Message-State: AOAM533bIrryc8pmnQtnLfuF4CYh7o0euS9yDR/4oezSajrh7ZqQOvDW ftwWgMRVQxwIqyMTiGYYMwsrlgCAySD1Kr1oXF2w2CfYqwReXsc6aXj3T1826zASPqAIsX5xnVw dwU75H7ZJUqTY0WsFkvFfH7rfZHGaIt0boGh88C0d+A== X-Received: by 2002:adf:f390:: with SMTP id m16mr12347879wro.651.1642249617121; Sat, 15 Jan 2022 04:26:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJzprxD4q8/vHQKRv14tzXFqCdIRim3TyjTiDo4rumIOols5/nb1r4v0oXNQ6oWEsRXBRZ4EzQ== X-Received: by 2002:adf:f390:: with SMTP id m16mr12347873wro.651.1642249616997; Sat, 15 Jan 2022 04:26:56 -0800 (PST) Received: from localhost.localdomain (xdsl-188-155-168-84.adslplus.ch. [188.155.168.84]) by smtp.gmail.com with ESMTPSA id bk17sm7878476wrb.105.2022.01.15.04.26.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 04:26:56 -0800 (PST) From: Krzysztof Kozlowski To: Krzysztof Kozlowski , "David S. Miller" , Jakub Kicinski , linux-nfc@lists.01.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/7] nfc: llcp: nullify llcp_sock->dev on connect() error paths Date: Sat, 15 Jan 2022 13:26:45 +0100 Message-Id: <20220115122650.128182-3-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> References: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Nullify the llcp_sock->dev on llcp_sock_connect() error paths, symmetrically to the code llcp_sock_bind(). The non-NULL value of llcp_sock->dev is used in a few places to check whether the socket is still valid. There was no particular issue observed with missing NULL assignment in connect() error path, however an similar case - in the bind() error path - was triggereable. That one was fixed in commit 4ac06a1e013c ("nfc: fix NULL ptr dereference in llcp_sock_getname() after failed connect"), so the change here seems logical as well. Signed-off-by: Krzysztof Kozlowski --- net/nfc/llcp_sock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index 0b93a17b9f11..e92440c0c4c7 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c @@ -764,6 +764,7 @@ static int llcp_sock_connect(struct socket *sock, struc= t sockaddr *_addr, llcp_sock->local =3D NULL; =20 put_dev: + llcp_sock->dev =3D NULL; nfc_put_device(dev); =20 error: --=20 2.32.0 From nobody Tue Jun 30 14:23:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id EEDE1C433F5 for ; Sat, 15 Jan 2022 12:27:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231911AbiAOM10 (ORCPT ); Sat, 15 Jan 2022 07:27:26 -0500 Received: from smtp-relay-internal-0.canonical.com ([185.125.188.122]:47532 "EHLO smtp-relay-internal-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231168AbiAOM1E (ORCPT ); Sat, 15 Jan 2022 07:27:04 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id C543440045 for ; Sat, 15 Jan 2022 12:26:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1642249618; bh=ePWS8huBNB8mOLwzP5l9zhhnqwr/R2aV/N6dfRb+pkA=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=vnd9YjeTAkXxpN3SWdBQaa337/49tJieZIqgKEBiUQHWsuzpNxPY34sQ/iKaPtIuy kftQO22UqiTrGMG/MxJhOPjcVk7bvbyyiyfnHPadRsVUnmVuVyzekYEg6y0pSpNseh UjijZ9YXB3JbAhYa1ceOkL/G50f/h+jenmGykR92DiqW09cjMLhSDFVujHC3cD4/t+ upyEjk3kN5x12CDupekVUT5Iyc5RByF5b2rOo9AC2sUWd2t2Dty9qc1oHxsm3mp+RE 20e5f0hNC88RcwqBVUJMuuIt1OEzULtpV4MaY2hfytZ1WWHFVvmX7TTDyzLTwJgS1O wpHmt3U1o0LUg== Received: by mail-wm1-f72.google.com with SMTP id p14-20020a1c544e000000b003490705086bso3429328wmi.7 for ; Sat, 15 Jan 2022 04:26:58 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ePWS8huBNB8mOLwzP5l9zhhnqwr/R2aV/N6dfRb+pkA=; b=7FqXabpZ8cewaOUqH7biFqkx9iE8Yxof0Noz2Du2tG5mCbmllKTamOE67AeR0QsZFV ermU1UoYxymQ1aHlysmGvp/gbUfyEsHJR9YHIohOd1Vcw/KuirsE+piw6nYw6H2q67Hf E5tXmTQ4sone6N4W8rcXH9dW7PLb/NxR/2oFPqxRRxug4gzE2l5Y4bMCNo1Wba7anppK izmhT2oe5D3IxJxlKIbPzocCxVXr1R0VamiGM/ifDSsK2jIYHurb2OVM8f4pX931Lljt aMn5GbCn6r7C9ibRvMY8RjaWzNLrjNTrm+nzB95BcInyuXaP2X2akRKEBuTbekJFnoNF FGSg== X-Gm-Message-State: AOAM532zlRJsPYcJgHtR/DyG7EuY5v522J030lc2tmbZ+niFi4MwwiJ2 myHKJ4J6p9KokPS9dqPHq32FaNz3XPosc3AM+NwjwAQsNJg6CpXoEJ0BEeuK9pR/BQ5DIA6JUsY ag3RRwLmStlUaEzilVgp2tlK09LaXAJniM+OqCALtaw== X-Received: by 2002:a5d:6f0a:: with SMTP id ay10mr12121174wrb.191.1642249618562; Sat, 15 Jan 2022 04:26:58 -0800 (PST) X-Google-Smtp-Source: ABdhPJzbQP4Q1giAJ4uAlzrN0vo+MIFiQCq0DOWWfo4iYlUpIw0pSA9ah1HXa5NlBGI3l4j4jOixug== X-Received: by 2002:a5d:6f0a:: with SMTP id ay10mr12121168wrb.191.1642249618445; Sat, 15 Jan 2022 04:26:58 -0800 (PST) Received: from localhost.localdomain (xdsl-188-155-168-84.adslplus.ch. [188.155.168.84]) by smtp.gmail.com with ESMTPSA id bk17sm7878476wrb.105.2022.01.15.04.26.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 04:26:57 -0800 (PST) From: Krzysztof Kozlowski To: Krzysztof Kozlowski , "David S. Miller" , Jakub Kicinski , linux-nfc@lists.01.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/7] nfc: llcp: simplify llcp_sock_connect() error paths Date: Sat, 15 Jan 2022 13:26:46 +0100 Message-Id: <20220115122650.128182-4-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> References: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" The llcp_sock_connect() error paths were using a mixed way of central exit (goto) and cleanup Signed-off-by: Krzysztof Kozlowski --- net/nfc/llcp_sock.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index e92440c0c4c7..fdf0856182c6 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c @@ -712,10 +712,8 @@ static int llcp_sock_connect(struct socket *sock, stru= ct sockaddr *_addr, llcp_sock->local =3D nfc_llcp_local_get(local); llcp_sock->ssap =3D nfc_llcp_get_local_ssap(local); if (llcp_sock->ssap =3D=3D LLCP_SAP_MAX) { - nfc_llcp_local_put(llcp_sock->local); - llcp_sock->local =3D NULL; ret =3D -ENOMEM; - goto put_dev; + goto sock_llcp_put_local; } =20 llcp_sock->reserved_ssap =3D llcp_sock->ssap; @@ -760,11 +758,13 @@ static int llcp_sock_connect(struct socket *sock, str= uct sockaddr *_addr, =20 sock_llcp_release: nfc_llcp_put_ssap(local, llcp_sock->ssap); + +sock_llcp_put_local: nfc_llcp_local_put(llcp_sock->local); llcp_sock->local =3D NULL; + llcp_sock->dev =3D NULL; =20 put_dev: - llcp_sock->dev =3D NULL; nfc_put_device(dev); =20 error: --=20 2.32.0 From nobody Tue Jun 30 14:23:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8ADBFC433EF for ; Sat, 15 Jan 2022 12:27:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231671AbiAOM1X (ORCPT ); Sat, 15 Jan 2022 07:27:23 -0500 Received: from smtp-relay-internal-0.canonical.com ([185.125.188.122]:47528 "EHLO smtp-relay-internal-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231195AbiAOM1E (ORCPT ); Sat, 15 Jan 2022 07:27:04 -0500 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 9C594405F6 for ; Sat, 15 Jan 2022 12:27:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1642249620; bh=XW443xLXNMd7fKnAwsj5MsweNUN/P9g1RwySZfWsL7A=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kAyFx/JNGNxvnqNVk79wHaTbGDFtnx4sATPuW9MUSya73fwOhaTTQX6fMDvfiyixf 3Lh5AjlQXxmiwgAVGb4XaFUPtfywNOsGtQ/7fjQp7gGM+Vjw2JUmmCGevwxHM/cP4w EFJgnrFxn9CxXugv9iJt4ayv3z67Qo6gJ4GwNH/3d5AzTnOarPeP08r+VUO+s4uWcY KY8Yvxcg4QSymHZu0M2vDTNmUfDa+orosq696XND6t4HumAq83hgUPcMryUne1h02o g4Jdg5GDk5UGwE7inGND/sTKRImBpAip73040+BWCTbrDIBb9ndoNqqsdsvi57Pep9 6cO/+YlHWzLig== Received: by mail-wm1-f70.google.com with SMTP id b2-20020a7bc242000000b00348639aed88so3586688wmj.8 for ; Sat, 15 Jan 2022 04:27:00 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XW443xLXNMd7fKnAwsj5MsweNUN/P9g1RwySZfWsL7A=; b=JFNk6JU0BuhT9W86wk7Vsx6TJbUOaZtILr4q5ZMnEDtR5xRW6xpEafAqVWPkHP9Er2 F2X3Ec34q+/FXDVmvnZ6eRqXJtEdKnsZXMbAMAxEWBJt0EiBuY1O4p2cTXUgbpiJ+JZ0 m1EbldeMRTxI/gxmBqwvGU44tHNT8Fohr4L+hVvSgXILOUHXbG75z+pX3ECAkzLi1qoV mgb2+QpHmaYco6O/JD/OXBqfjJZGTNPWgp/5fzquKfIHn/OLeJ/8vX3LSS64H2ALBc4J Nv/KRbNFFVxwH0SJNA6W0tViZ3yIT+F6ydGvv5nYHFN3ActGoeZPqdtia3sx7fNONsPy edcg== X-Gm-Message-State: AOAM530XKTl12vJddlFbEYb0IBnP1iWFlmwQr475XbrwU54s0JRtVAuj pl0p7pCT3GZ5QERlibiT8PprMCfq/bZ1/aaF313GjWeYsKYKRIuH+bZCWl9UUn3J2z/cH0sI0hF PRIH+lm8oycN9pcwkvdrIIbzt9JALgr+DtDmco8SiuA== X-Received: by 2002:adf:e810:: with SMTP id o16mr918250wrm.148.1642249619803; Sat, 15 Jan 2022 04:26:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJzmyGxwz6Gt13RegtMp19MSWLXNTMDHakRk1jf3lOXKJSBHxsTjjfU5CLCgc4+yB+jzAl2W2w== X-Received: by 2002:adf:e810:: with SMTP id o16mr918237wrm.148.1642249619675; Sat, 15 Jan 2022 04:26:59 -0800 (PST) Received: from localhost.localdomain (xdsl-188-155-168-84.adslplus.ch. [188.155.168.84]) by smtp.gmail.com with ESMTPSA id bk17sm7878476wrb.105.2022.01.15.04.26.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 04:26:58 -0800 (PST) From: Krzysztof Kozlowski To: Krzysztof Kozlowski , "David S. Miller" , Jakub Kicinski , linux-nfc@lists.01.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/7] nfc: llcp: use centralized exiting of bind on errors Date: Sat, 15 Jan 2022 13:26:47 +0100 Message-Id: <20220115122650.128182-5-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> References: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Coding style encourages centralized exiting of functions, so rewrite llcp_sock_bind() error paths to use such pattern. This reduces the duplicated cleanup code, make success path visually shorter and also cleans up the errors in proper order (in reversed way from initialization). No functional impact expected. Signed-off-by: Krzysztof Kozlowski --- net/nfc/llcp_sock.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index fdf0856182c6..c9d5c427f035 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c @@ -108,21 +108,13 @@ static int llcp_sock_bind(struct socket *sock, struct= sockaddr *addr, int alen) llcp_sock->service_name_len, GFP_KERNEL); if (!llcp_sock->service_name) { - nfc_llcp_local_put(llcp_sock->local); - llcp_sock->local =3D NULL; - llcp_sock->dev =3D NULL; ret =3D -ENOMEM; - goto put_dev; + goto sock_llcp_put_local; } llcp_sock->ssap =3D nfc_llcp_get_sdp_ssap(local, llcp_sock); if (llcp_sock->ssap =3D=3D LLCP_SAP_MAX) { - nfc_llcp_local_put(llcp_sock->local); - llcp_sock->local =3D NULL; - kfree(llcp_sock->service_name); - llcp_sock->service_name =3D NULL; - llcp_sock->dev =3D NULL; ret =3D -EADDRINUSE; - goto put_dev; + goto free_service_name; } =20 llcp_sock->reserved_ssap =3D llcp_sock->ssap; @@ -132,6 +124,19 @@ static int llcp_sock_bind(struct socket *sock, struct = sockaddr *addr, int alen) pr_debug("Socket bound to SAP %d\n", llcp_sock->ssap); =20 sk->sk_state =3D LLCP_BOUND; + nfc_put_device(dev); + release_sock(sk); + + return 0; + +free_service_name: + kfree(llcp_sock->service_name); + llcp_sock->service_name =3D NULL; + +sock_llcp_put_local: + nfc_llcp_local_put(llcp_sock->local); + llcp_sock->local =3D NULL; + llcp_sock->dev =3D NULL; =20 put_dev: nfc_put_device(dev); --=20 2.32.0 From nobody Tue Jun 30 14:23:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E59C4C433EF for ; Sat, 15 Jan 2022 12:27:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231648AbiAOM12 (ORCPT ); Sat, 15 Jan 2022 07:27:28 -0500 Received: from smtp-relay-internal-0.canonical.com ([185.125.188.122]:47526 "EHLO smtp-relay-internal-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231183AbiAOM1E (ORCPT ); Sat, 15 Jan 2022 07:27:04 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id D349C40749 for ; Sat, 15 Jan 2022 12:27:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1642249621; bh=yrlNFOS5f9IRjvA5fm0IVEgclHgNp68QGUe5Q3pp8Vc=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dSB/yMdQR6IlRBkuJgYdjY9Dx8Cpa3WyPSaY2J3Y7zQoIG7n/3jzZR+qI+yMlzd26 4prvK9O9bdCVJCiWwYo+POkVYyFVNZE1gfyxjTtbHZTP37kszSTru8VOyL200shyHU OPxga1FKS6OPXIlHLkklgsQ/ruj/gxkii7oJylv+1IkD9Zwk9zFd3aPy6qieOC+Wby DVOQJpfnTTTLItgnZktSbjFIoMAtBdpLiSaOSUop2NPQJ8xFZDVmBe5H0DysB6K/mF 80z6NCjKgYUs5TXKQabpgKYG+i0UZvVLhG7k/pJCUL2ifM2+0W/WHDXnlMZ+1KNNkN nWuphciUco64A== Received: by mail-wm1-f72.google.com with SMTP id o3-20020a05600c4fc300b0034aee9534bdso2624948wmq.2 for ; Sat, 15 Jan 2022 04:27:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yrlNFOS5f9IRjvA5fm0IVEgclHgNp68QGUe5Q3pp8Vc=; b=r5kNPRM5QVvSHJwkisYxJzlGkZi2p+HTw3PZEuzY5PA6qDwdLZSKoAjipNsjX7yzMR ujWSGAnH3HDyzsuvOJpi7WIuP5WgZZLFIOt3ieZ90SIWEGhD/nxU8eWg3w/cstehsJtl Z1an0R6p8EgY0Gbr4cXHi/RbFOC9Hix+q4/OniZ/K9Vx8ruX4G9S0tKl3tnPrH7xhJbd gsZRZxHo83AxtfPXoRLMSL5Yp43iH5tUbH304uBC31omil/+GlvsbL3J9LUJybNlHwVC 5txMDsjrYaJWcD9feoq0pgfT4pw+NfXvFU96TbErYotY3eBIaSMy0YMYQbpNvmcS0tzv Y2oA== X-Gm-Message-State: AOAM530hIw1xdiSGLbWSwcRXKaufj51gcGyX8C3kXEh9FUbjhU8dCSvn zQu2/v31yRGxK6xcGKRzk+YknJnLyN9Na2fp59V8E+IylMJoBlwtPcxjsbC6EplH5zy9fTUtxEM MMnvpEFPCRQzu+Ok6gTR8Oc6vk+wQrM6GNQMbA+7DUg== X-Received: by 2002:adf:f0d1:: with SMTP id x17mr12129016wro.223.1642249621083; Sat, 15 Jan 2022 04:27:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJyuosj48Z96wc9CpVVg353GMRvCJEBxDaoKE+PY1MPfJ8vkd7s+FLfB9jQET/3Y31fE7LgFfQ== X-Received: by 2002:adf:f0d1:: with SMTP id x17mr12129002wro.223.1642249620903; Sat, 15 Jan 2022 04:27:00 -0800 (PST) Received: from localhost.localdomain (xdsl-188-155-168-84.adslplus.ch. [188.155.168.84]) by smtp.gmail.com with ESMTPSA id bk17sm7878476wrb.105.2022.01.15.04.26.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 04:27:00 -0800 (PST) From: Krzysztof Kozlowski To: Krzysztof Kozlowski , "David S. Miller" , Jakub Kicinski , linux-nfc@lists.01.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/7] nfc: llcp: use test_bit() Date: Sat, 15 Jan 2022 13:26:48 +0100 Message-Id: <20220115122650.128182-6-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> References: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Use test_bit() instead of open-coding it. Signed-off-by: Krzysztof Kozlowski --- net/nfc/llcp_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/nfc/llcp_core.c b/net/nfc/llcp_core.c index 5ad5157aa9c5..b70d5042bf74 100644 --- a/net/nfc/llcp_core.c +++ b/net/nfc/llcp_core.c @@ -383,7 +383,7 @@ u8 nfc_llcp_get_sdp_ssap(struct nfc_llcp_local *local, pr_debug("WKS %d\n", ssap); =20 /* This is a WKS, let's check if it's free */ - if (local->local_wks & BIT(ssap)) { + if (test_bit(ssap, &local->local_wks)) { mutex_unlock(&local->sdp_lock); =20 return LLCP_SAP_MAX; --=20 2.32.0 From nobody Tue Jun 30 14:23:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9E1F8C433EF for ; Sat, 15 Jan 2022 12:27:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231625AbiAOM1S (ORCPT ); Sat, 15 Jan 2022 07:27:18 -0500 Received: from smtp-relay-internal-0.canonical.com ([185.125.188.122]:47534 "EHLO smtp-relay-internal-0.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231196AbiAOM1E (ORCPT ); Sat, 15 Jan 2022 07:27:04 -0500 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 1D57640033 for ; Sat, 15 Jan 2022 12:27:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1642249623; bh=k1fbxXsPvGzkuFTuMvPObzXkHdaiukX+p5UqHJ6OWe0=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=poQbZEyY4AWHzx1Uj4SC3kJ+foLMeOU5cVPr7phuMdBE/DZ43UXdqOkHS8zb8gRSA 2qu9Mmy65kv09aid8aHnXsgJkGkxZTp4F/YL17qfafxThmGS3tPwq/UJzrowpZbj4S UErkSQ+5lk+3ML1CX3krNBfizZOlV6Uda+hd9s9fwO6ioqV0VV+Rzc4Rvi9cJIAGc5 H02Oy2wkCt22Oiu+yOAdKo6rvewdaanq2xgzMSb/bpSUC2Fe/6Y5id5BF89erRN80e quC+E10XngVQ1ZQaUsY8XuRtVAnu6suBgTNK0ITWWa8Vf58ux3bSEVHaz6/BD4lbB9 eLKCt3FwOiRzw== Received: by mail-wm1-f71.google.com with SMTP id a3-20020a05600c348300b0034a0dfc86aaso7203730wmq.6 for ; Sat, 15 Jan 2022 04:27:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=k1fbxXsPvGzkuFTuMvPObzXkHdaiukX+p5UqHJ6OWe0=; b=bosc7csdmGmg6Tmkp8q9V5Gw79qeA1corn52x6WYYESkgx6t7G+HXKQqh4BBqCMheP m7Kre6kezeAlYMdvojz654WEp4t2wy4+ssGz7NjGMxoAgrB3uNCg4dD4qkhI4GOfHUWK VWgSWPXAhEc1lFvEsVfn8hvCyLenfs0/tOb4FCU1BvbrtJeRi+l6vLCgvRp0CgQFFgJK fyFXWWt1MpDhjBjCvfIPq3EyXUiprpSdsehZZovtCUnklHUUW6KWy5cmx/tPVNZiwhAO ZT3kjkInDJF8QP203fO97fEy0FqibKIszhrTS8t5MZ4aQBMPLzs3dxYcpyW9ZAmxouPq C4Zg== X-Gm-Message-State: AOAM532Yl0sOqgOepihO5XW3nWP1jFdbyYvPZXz3EXInDaH3kfesrU/4 +dNXRpuNULdiUyO+NqHUhvHbu9vbEhA+oMM2YDk3Bzk5/L8b9Q1iHhWve5RxbpHP2RPrOzgvWCs TJI7MCpcDWB1O0IVkRByNaFXT1vCoo9tojzFZsScFdg== X-Received: by 2002:adf:f9cb:: with SMTP id w11mr12363538wrr.106.1642249622376; Sat, 15 Jan 2022 04:27:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJxXCX9qNHfjpMa31u9yvOahIXiFLP9Aqa1v2s/wcOF8lsTtZYY/Ms1xdIFV/FMREuwupnobnw== X-Received: by 2002:adf:f9cb:: with SMTP id w11mr12363520wrr.106.1642249622169; Sat, 15 Jan 2022 04:27:02 -0800 (PST) Received: from localhost.localdomain (xdsl-188-155-168-84.adslplus.ch. [188.155.168.84]) by smtp.gmail.com with ESMTPSA id bk17sm7878476wrb.105.2022.01.15.04.27.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 04:27:01 -0800 (PST) From: Krzysztof Kozlowski To: Krzysztof Kozlowski , "David S. Miller" , Jakub Kicinski , linux-nfc@lists.01.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 6/7] nfc: llcp: protect nfc_llcp_sock_unlink() calls Date: Sat, 15 Jan 2022 13:26:49 +0100 Message-Id: <20220115122650.128182-7-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> References: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" nfc_llcp_sock_link() is called in all paths (bind/connect) as a last action, still protected with lock_sock(). When cleaning up in llcp_sock_release(), call nfc_llcp_sock_unlink() in a mirrored way: earlier and still under the lock_sock(). Signed-off-by: Krzysztof Kozlowski --- net/nfc/llcp_sock.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index c9d5c427f035..5c5705f5028b 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c @@ -631,6 +631,11 @@ static int llcp_sock_release(struct socket *sock) } } =20 + if (sock->type =3D=3D SOCK_RAW) + nfc_llcp_sock_unlink(&local->raw_sockets, sk); + else + nfc_llcp_sock_unlink(&local->sockets, sk); + if (llcp_sock->reserved_ssap < LLCP_SAP_MAX) nfc_llcp_put_ssap(llcp_sock->local, llcp_sock->ssap); =20 @@ -643,11 +648,6 @@ static int llcp_sock_release(struct socket *sock) if (sk->sk_state =3D=3D LLCP_DISCONNECTING) return err; =20 - if (sock->type =3D=3D SOCK_RAW) - nfc_llcp_sock_unlink(&local->raw_sockets, sk); - else - nfc_llcp_sock_unlink(&local->sockets, sk); - out: sock_orphan(sk); sock_put(sk); --=20 2.32.0 From nobody Tue Jun 30 14:23:54 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 00A61C4332F for ; Sat, 15 Jan 2022 12:27:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231817AbiAOM1d (ORCPT ); Sat, 15 Jan 2022 07:27:33 -0500 Received: from smtp-relay-internal-1.canonical.com ([185.125.188.123]:60844 "EHLO smtp-relay-internal-1.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231247AbiAOM1F (ORCPT ); Sat, 15 Jan 2022 07:27:05 -0500 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 2EBBE3F1E5 for ; Sat, 15 Jan 2022 12:27:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1642249624; bh=Mdsn7AT474MZc2MQVfRJDSMS8EOfClYXR9EYCiW/6uw=; h=From:To:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=U7pzAp9DK5Mmm1HPgDPU2mqOab1Df4U3g5TVODAipGIIPqZA+zLatKQF54Vp5NHnx ofHbHDjlHzrNLjV+4uUMnxVhk+R6eyCzVAMwQX0PDL5sE3V/C/oyXtyaP3Q83ivm/e 3E303UrR/APJqkf/blzKe5KlokDLv5hK/faLBYkVT0/QUGwIKUuQvyI1ccq6hNEQpC SKablJMbews5RzZR3rr6yhw2eRReNK2kgvN6cU5bDf8jXGgJeCHa3BOjsht8SABbsy SprKH+l/KT4f8qVbc5wCiHMP6J0yEliK8t9hUZ8ouHPDaAx53p9dTjrEeQN4l/RhM6 s1GLHltuzyPrg== Received: by mail-wm1-f72.google.com with SMTP id o185-20020a1ca5c2000000b003478a458f01so8105086wme.4 for ; Sat, 15 Jan 2022 04:27:04 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Mdsn7AT474MZc2MQVfRJDSMS8EOfClYXR9EYCiW/6uw=; b=JKpw79iyGKsiXn8CnnJfHgp9iu37+QYRyPb5SwMh3gOAQJSAjr+fScfgOs7uvllbHf KEkqHCawo0O9udh+3RPMeD4UKfyRQzyz/ApSlNvKl90lKvNoiwDED0DGW+5RDl/VvfUt 0eJiTjhI0qsc7n+pC3oAWIw1koyB7GHEseyvy32IxRgXysAN/7gEP6ppaSZWIY2/giqP 16blWs8UzHeHlWjH3luS2FBgYWIkcT+nMiv6CEq+3+FsEglc01pYiIHuYgRnLHl3INMa mYLaxdWhuOOR0vGbBJ7id+ayjuZuDkNJVGPzoI6ubCCSEuU5ktPp+npz2feRs8HF8Lpu C/Zw== X-Gm-Message-State: AOAM530qLMntDwOV9K6vvjPV3jPcfKjYQggmDpes7YCA6npaRnjVbagn Vky1xt+04k1e6TXcYs6S03cx7gNPH8X/HVxpiiDcKcyXXdmgGas29j1eFhwuVjC8cxI6vFt4MyQ R9DoxtRPbWRcZymDVQ+opgN5JXuFAwI8JK3qUwcTkkA== X-Received: by 2002:adf:f0c8:: with SMTP id x8mr12500715wro.8.1642249623656; Sat, 15 Jan 2022 04:27:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJz+9/EJPNvF2Lg8TPggKvvKyZTnv0CkGSej/R9OMq8UBJ+esAn4SYxe7sYrdb7br5pj2o5aOQ== X-Received: by 2002:adf:f0c8:: with SMTP id x8mr12500703wro.8.1642249623522; Sat, 15 Jan 2022 04:27:03 -0800 (PST) Received: from localhost.localdomain (xdsl-188-155-168-84.adslplus.ch. [188.155.168.84]) by smtp.gmail.com with ESMTPSA id bk17sm7878476wrb.105.2022.01.15.04.27.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Jan 2022 04:27:03 -0800 (PST) From: Krzysztof Kozlowski To: Krzysztof Kozlowski , "David S. Miller" , Jakub Kicinski , linux-nfc@lists.01.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 7/7] nfc: llcp: Revert "NFC: Keep socket alive until the DISC PDU is actually sent" Date: Sat, 15 Jan 2022 13:26:50 +0100 Message-Id: <20220115122650.128182-8-krzysztof.kozlowski@canonical.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> References: <20220115122650.128182-1-krzysztof.kozlowski@canonical.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" This reverts commit 17f7ae16aef1f58bc4af4c7a16b8778a91a30255. The commit brought a new socket state LLCP_DISCONNECTING, which was never set, only read, so socket could never set to such state. Remove the dead code. Signed-off-by: Krzysztof Kozlowski --- net/nfc/llcp.h | 1 - net/nfc/llcp_core.c | 7 ------- net/nfc/llcp_sock.c | 7 ------- 3 files changed, 15 deletions(-) diff --git a/net/nfc/llcp.h b/net/nfc/llcp.h index d49d4bf2e37c..c1d9be636933 100644 --- a/net/nfc/llcp.h +++ b/net/nfc/llcp.h @@ -6,7 +6,6 @@ enum llcp_state { LLCP_CONNECTED =3D 1, /* wait_for_packet() wants that */ LLCP_CONNECTING, - LLCP_DISCONNECTING, LLCP_CLOSED, LLCP_BOUND, LLCP_LISTEN, diff --git a/net/nfc/llcp_core.c b/net/nfc/llcp_core.c index b70d5042bf74..3364caabef8b 100644 --- a/net/nfc/llcp_core.c +++ b/net/nfc/llcp_core.c @@ -737,13 +737,6 @@ static void nfc_llcp_tx_work(struct work_struct *work) print_hex_dump_debug("LLCP Tx: ", DUMP_PREFIX_OFFSET, 16, 1, skb->data, skb->len, true); =20 - if (ptype =3D=3D LLCP_PDU_DISC && sk !=3D NULL && - sk->sk_state =3D=3D LLCP_DISCONNECTING) { - nfc_llcp_sock_unlink(&local->sockets, sk); - sock_orphan(sk); - sock_put(sk); - } - if (ptype =3D=3D LLCP_PDU_I) copy_skb =3D skb_copy(skb, GFP_ATOMIC); =20 diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c index 5c5705f5028b..4ca35791c93b 100644 --- a/net/nfc/llcp_sock.c +++ b/net/nfc/llcp_sock.c @@ -641,13 +641,6 @@ static int llcp_sock_release(struct socket *sock) =20 release_sock(sk); =20 - /* Keep this sock alive and therefore do not remove it from the sockets - * list until the DISC PDU has been actually sent. Otherwise we would - * reply with DM PDUs before sending the DISC one. - */ - if (sk->sk_state =3D=3D LLCP_DISCONNECTING) - return err; - out: sock_orphan(sk); sock_put(sk); --=20 2.32.0