Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1737340pxb; Sat, 15 Jan 2022 22:45:34 -0800 (PST) X-Google-Smtp-Source: ABdhPJzXsvXjx28OrpSmbQ7uDFm+uNVZE0zeT26kEBYElXPFjaZgABGIz2oGIY5UNq/7aeHT9hjs X-Received: by 2002:a17:90b:1bce:: with SMTP id oa14mr4185661pjb.209.1642315534029; Sat, 15 Jan 2022 22:45:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642315534; cv=none; d=google.com; s=arc-20160816; b=1Bcuh4NQF+Xh7erwxOWmNGiMW+Z7K6eVhvMLlT7YCA46HNN6l4bYc6QE+lb0LBWFSU tnzENu89dUu1Ifrf1jE0+NxsalkaE6NKVMaz1b2NYw8P7zbMEiuELjhGLSgPDn3NEFh+ wZ76SAYrc+2mKAtHtG/Oy0FPDoiL94qXdbhvbwCS+Wbn933lDiQ7TDbeAQSKvCFqq+n9 U/pmjcOc7jFc0FtEJ+MqBtoMcTpimJtad3CeQ37kxp5wSJcKFfjsHGcFizQFMbN6EeX/ AnNyrSWRCCial0NI5EYA7DR0owh2MimjL134pPFLoDVk+h9hqHBYSENEWHYeARo1kbnJ RLRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=XW443xLXNMd7fKnAwsj5MsweNUN/P9g1RwySZfWsL7A=; b=uwmnmKhzF6ezb03w54w7XZUkhhrLAgwvOBNnGR5aCeYiNxNXrVhD4E+ylMWxJZWwpb lKkvkbK4IEwXF41BoWm5T08jCp1DEE4q1SHmM43TlxfoOZyWwLeJ5r7Ypdzip1D7b24/ SG0pFuCMQu7NApFj8gTBnWGRiPXOoKaK68algikcwKLFt0kFRKl9TZgbosIvpos7GqrE MXePMHlOej07UIt9zBEQ/Kpgg81k9C0UhTotAIKcMWQTK7cMxmuaek/Wwnr1vgw7EoXV jY51Xh32KZzEpkPZ7a4tLJrLoVAUa0tdYOMCOMWwDyfAdf/+hc48sQp8qb+WP84jQe0p dRqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b="kAyFx/JN"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id lw10si2286849pjb.104.2022.01.15.22.45.22; Sat, 15 Jan 2022 22:45:34 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b="kAyFx/JN"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231382AbiAOM1U (ORCPT + 99 others); Sat, 15 Jan 2022 07:27:20 -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-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: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 = NULL; - llcp_sock->dev = NULL; ret = -ENOMEM; - goto put_dev; + goto sock_llcp_put_local; } llcp_sock->ssap = nfc_llcp_get_sdp_ssap(local, llcp_sock); if (llcp_sock->ssap == LLCP_SAP_MAX) { - nfc_llcp_local_put(llcp_sock->local); - llcp_sock->local = NULL; - kfree(llcp_sock->service_name); - llcp_sock->service_name = NULL; - llcp_sock->dev = NULL; ret = -EADDRINUSE; - goto put_dev; + goto free_service_name; } llcp_sock->reserved_ssap = 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); sk->sk_state = LLCP_BOUND; + nfc_put_device(dev); + release_sock(sk); + + return 0; + +free_service_name: + kfree(llcp_sock->service_name); + llcp_sock->service_name = NULL; + +sock_llcp_put_local: + nfc_llcp_local_put(llcp_sock->local); + llcp_sock->local = NULL; + llcp_sock->dev = NULL; put_dev: nfc_put_device(dev); -- 2.32.0