[2/4] netlink: Move an assignment for the variable “sk” in __netlink_kernel_create()
Message ID | 223a61e9-f826-4f37-b514-ca6ed53b1269@web.de |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel+bounces-13766-ouuuleilei=gmail.com@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp3619681dyb; Sun, 31 Dec 2023 09:45:00 -0800 (PST) X-Google-Smtp-Source: AGHT+IE5Dxr+PtZ5id+8GB2VjC5QP2o/S400Pp+lMapJgkFC0NQ0iwFSqZBw42xaF3eXVFQ4At9p X-Received: by 2002:a05:600c:4fc6:b0:40c:55c4:45e4 with SMTP id o6-20020a05600c4fc600b0040c55c445e4mr5277039wmq.182.1704044700061; Sun, 31 Dec 2023 09:45:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1704044700; cv=none; d=google.com; s=arc-20160816; b=bS2m9rGpx7rCsQnOt44ofU1/YMVgG1at9c4SMe/aKo7wEQ/iwhaxoiZGpZo1Pqs7T7 X9J6Kk4m/onWUpX4c1d03xts590J7QyIjQ3aNPWkDRNVmCFkGrwl+E7UE/7WYp6tRzN/ n4I2iSQbUsTCk4haBCt0fDC7jDDt41roSyg1SsSnnW0iqT8lAIj02vnePQaJ4wiMiEoK mvQGqLvaMkraGDPWSNF2SRgxEYxhD2wQuEigzqYsSipdRoOyQmyKtpONtFHL5ku9L4xC DmX0G925Z4MwiAKqV8XrArFQsxnD0I0HI4LGvlxkpFGFU6VZGXxfkGWfry59wavCqoIz fRFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=ui-outboundreport:content-transfer-encoding:in-reply-to:references :cc:to:from:content-language:subject:user-agent:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:date:message-id :dkim-signature; bh=/9kDCmUm6b/g2UdxuCNbplWx0PPVANV2oWTMtomOynU=; fh=DdOJvwknMOETb7U5MhJXXB2PrP85TzaM/5h2KxSJnwo=; b=OdvZg7o0kqemuXoFRFJzIFA8RNkzC8kMsF5yKIMDedK393jUcsoy1VvGI8Uznny0ns bruT3T2M7SXGbVk/ZXleNBbfv/VNnA6FrPkhsIrXcOwlGSQw5p7GFf//ohcYh22ikQ7r 9hyete6Q9u8K0oDIik26RHj8hDy0dEMmWXynG3XIcxFUsysban87IIXnu66x8HNkmR6T ArEzfoYjggftV+2CtOPcffM93JuEUvm4iB9x3r5oaOenMnHw/1gJlLWhSdrjCmI1OQCZ tTBeW7rNKAxcQZ/QOiaNQr1Zm5VwNTVcBP0MOnktha0VwZrKWgIGOmT700jJiwuqMMlZ ws/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@web.de header.s=s29768273 header.b="ZICg/2x8"; spf=pass (google.com: domain of linux-kernel+bounces-13766-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13766-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=web.de Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id a23-20020a170906369700b00a2343c430d8si9489111ejc.483.2023.12.31.09.44.59 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 31 Dec 2023 09:45:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-13766-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@web.de header.s=s29768273 header.b="ZICg/2x8"; spf=pass (google.com: domain of linux-kernel+bounces-13766-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-13766-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=web.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id A900D1F21AFE for <ouuuleilei@gmail.com>; Sun, 31 Dec 2023 17:44:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 836B4B65F; Sun, 31 Dec 2023 17:44:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=web.de header.i=markus.elfring@web.de header.b="ZICg/2x8" X-Original-To: linux-kernel@vger.kernel.org Received: from mout.web.de (mout.web.de [212.227.15.4]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 212468F57; Sun, 31 Dec 2023 17:44:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=web.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=web.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1704044654; x=1704649454; i=markus.elfring@web.de; bh=aLRR7U3/AFWimf4oVCx2OhgMuy/xKWfmXx3IC9naGIo=; h=X-UI-Sender-Class:Date:Subject:From:To:Cc:References: In-Reply-To; b=ZICg/2x8jB8G+KIct6nZM1VB7yYS8bZKI8uVBgjZDgsHINnA996adoD4Yb6O60kS f0g96Di7aDn+W/3ehNB0jrfNgrsWQTOE8+weRlUJrbbU8BeKbrrvc9HzUZLy5m2P8 WZILEv8b6f0sFodSLEhxztGhYr52mRXldwyRb27UBZYlLt9AyG5+bq8GiOBYoP/m4 U870N9NZd7T5TVgckvKpJum8Eqc4qzqfySSe6qokoQQRQPWqiKLQvBp3IKDt2/KZA PUhIwVQLrjJiDv4kKMEN8e7ZWm2LkKmig5xL5bywy2yQpnRW76SU2/Y+Tdp6ClZPj wUojxS92Rv5ST+hiaw== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from [192.168.178.21] ([94.31.90.95]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MGgJK-1rOvng17Cs-00EAuA; Sun, 31 Dec 2023 18:44:14 +0100 Message-ID: <223a61e9-f826-4f37-b514-ca6ed53b1269@web.de> Date: Sun, 31 Dec 2023 18:44:13 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: <linux-kernel.vger.kernel.org> List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org> List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org> MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: =?utf-8?q?=5BPATCH_2/4=5D_netlink=3A_Move_an_assignment_for_the_var?= =?utf-8?q?iable_=E2=80=9Csk=E2=80=9D_in_=5F=5Fnetlink=5Fkernel=5Fcreate=28?= =?utf-8?q?=29?= Content-Language: en-GB From: Markus Elfring <Markus.Elfring@web.de> To: netdev@vger.kernel.org, kernel-janitors@vger.kernel.org, Anjali Kulkarni <anjali.k.kulkarni@oracle.com>, "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Kuniyuki Iwashima <kuniyu@amazon.com>, Paolo Abeni <pabeni@redhat.com>, Simon Horman <horms@kernel.org> Cc: LKML <linux-kernel@vger.kernel.org> References: <90679f69-951c-47b3-b86f-75fd9fde3da3@web.de> In-Reply-To: <90679f69-951c-47b3-b86f-75fd9fde3da3@web.de> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:ksyD/iMiLeEsohqK+0cCAC5fthmh8rU3GpZGbK03fzCSWClI94G 37s9Zn3bmBCTEv2pCWiDkyKTTAnUFupLBgaHD123O7VIh+wUSyNdMhI8snA5lb7pOIJe0+8 CqUxbtM0vaAbEPtiBLJPNs1KNBKH1fJGNBUgeGPKqOZHjZtGdoEf24MwaFrJRCHVVHc+ewh FM6JFRq1R3r+r3aTKOBwQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:3vJBw6+nSHY=;FCw8Qqfha8upD8QrqFMCGDHpOeM FSFOuMqokXOUCvUYgZJDBwafuX59T1/hLY9Ibp6QO9aoqKI1xx+OA2urVj3EsmcWwQUnhOYle hsuamEAQPRDwNJAliMPJlF9PWoXvK33c9YXHffLpMpRfSyua0Jm4Zdq7ha1s5EMvp9OHmryyL EUscDbvHLIREli8RVjqi0hyNnN3z06nyRyYTkN3IHSjW6WZhM70TewhcSiS2lxbgdKdJLx7KE JKrtAQSTfKpwAo/lid9EanpneMSuJhFxKeWdUH/kyVT3rjdgtW6lIKdcBYRY7H6udc8p9pqjP KNQRtnVrpSlMQ8puURlQHiAeaVc7VN+DICpeDs2YEYJwCseyHoGyXhgZBB7cwb9EK6Ey37Jqx BSFGFZXyC5xGpU6lyR8JB4zuKXM6wRnzfayoU3dwO7DrGpkV22Gn85S2edDsfVd2kNqcht4X/ zm9/LMdF3KNhFCzBpSGu+FW/ZWuc0lEiKxpg4USsXAeTKDDWlXnfnlpfCJJy3YX7mMrqIOV8E jQex9+H/lrvt2XXv02msanXiB5FytV/vH7CreghlX1Bmxk1eqA+2wx1IxLCh4eMAJ07H4BDNf kCzE7CIQ6fkxa4TzXhnhTD0uY2UYUTlvIuAIetCmYHWcPvycjI/+lgVTjEdIkpAxMBzORr4j/ i663RPem2oGSHsZODzXYempljTIE4B9IXFnpSYCm/bOAiLzPYVwtRd2e3M4OfQtSP7If0v4db At2Se17pX2eBoj31ID5mtd1MiNNQ7034+rPmcTXNeQqf0sKYmFpxCgEPmEmOIDk7uW2ef8ZnA M7xKK4PCxMjhSBZYjbwmhpPdaH6DHDk6RsOPj+CuPsdx8yZFuJPlh78Hkz+LewzcYbAr4tkrP Yu/mHhZXugcOtmg6aGmtukzpL+lE0SrYIp4J7KrK0o+fJ1+YTsWCkHpSy5MaNajG3oGBfrpmd W7MQUw== X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786820375466874059 X-GMAIL-MSGID: 1786820375466874059 |
Series |
None
|
|
Commit Message
Markus Elfring
Dec. 31, 2023, 5:44 p.m. UTC
From: Markus Elfring <elfring@users.sourceforge.net> Date: Sun, 31 Dec 2023 17:36:50 +0100 Move one assignment for the variable “sk” closer to the place where this pointer is used. Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> --- net/netlink/af_netlink.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- 2.43.0
Comments
Hi Markus,
kernel test robot noticed the following build warnings:
[auto build test WARNING on net/main]
[also build test WARNING on net-next/main linus/master horms-ipvs/master v6.7-rc8 next-20231222]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Markus-Elfring/netlink-Improve-exception-handling-in-__netlink_kernel_create/20240101-015025
base: net/main
patch link: https://lore.kernel.org/r/223a61e9-f826-4f37-b514-ca6ed53b1269%40web.de
patch subject: [PATCH 2/4] netlink: Move an assignment for the variable “sk” in __netlink_kernel_create()
config: arm-randconfig-001-20240101 (https://download.01.org/0day-ci/archive/20240101/202401010855.4iU6im1B-lkp@intel.com/config)
compiler: clang version 18.0.0git (https://github.com/llvm/llvm-project 8a4266a626914765c0c69839e8a51be383013c1a)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240101/202401010855.4iU6im1B-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202401010855.4iU6im1B-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> net/netlink/af_netlink.c:2044:6: warning: variable 'sk' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
2044 | if (!listeners)
| ^~~~~~~~~~
net/netlink/af_netlink.c:2081:25: note: uninitialized use occurs here
2081 | netlink_kernel_release(sk);
| ^~
net/netlink/af_netlink.c:2044:2: note: remove the 'if' if its condition is always false
2044 | if (!listeners)
| ^~~~~~~~~~~~~~~
2045 | goto out_netlink_release_sock;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/netlink/af_netlink.c:2021:17: note: initialize the variable 'sk' to silence this warning
2021 | struct sock *sk;
| ^
| = NULL
1 warning generated.
vim +2044 net/netlink/af_netlink.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 2009
^1da177e4c3f41 Linus Torvalds 2005-04-16 2010 /*
^1da177e4c3f41 Linus Torvalds 2005-04-16 2011 * We export these functions to other modules. They provide a
^1da177e4c3f41 Linus Torvalds 2005-04-16 2012 * complete set of kernel non-blocking support for message
^1da177e4c3f41 Linus Torvalds 2005-04-16 2013 * queueing.
^1da177e4c3f41 Linus Torvalds 2005-04-16 2014 */
^1da177e4c3f41 Linus Torvalds 2005-04-16 2015
^1da177e4c3f41 Linus Torvalds 2005-04-16 2016 struct sock *
9f00d9776bc5be Pablo Neira Ayuso 2012-09-08 2017 __netlink_kernel_create(struct net *net, int unit, struct module *module,
a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2018 struct netlink_kernel_cfg *cfg)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2019 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2020 struct socket *sock;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2021 struct sock *sk;
77247bbb309424 Patrick McHardy 2005-08-14 2022 struct netlink_sock *nlk;
5c398dc8f5a58b Eric Dumazet 2010-10-24 2023 struct listeners *listeners = NULL;
a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2024 struct mutex *cb_mutex = cfg ? cfg->cb_mutex : NULL;
a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2025 unsigned int groups;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2026
fab2caf62ed03d Akinobu Mita 2006-08-29 2027 BUG_ON(!nl_table);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2028
^1da177e4c3f41 Linus Torvalds 2005-04-16 2029 if (unit < 0 || unit >= MAX_LINKS)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2030 return NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2031
^1da177e4c3f41 Linus Torvalds 2005-04-16 2032 if (sock_create_lite(PF_NETLINK, SOCK_DGRAM, unit, &sock))
^1da177e4c3f41 Linus Torvalds 2005-04-16 2033 return NULL;
13d3078e22f565 Eric W. Biederman 2015-05-08 2034
13d3078e22f565 Eric W. Biederman 2015-05-08 2035 if (__netlink_create(net, sock, cb_mutex, unit, 1) < 0)
23fe18669e7fda Pavel Emelyanov 2008-01-30 2036 goto out_sock_release_nosk;
23fe18669e7fda Pavel Emelyanov 2008-01-30 2037
a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2038 if (!cfg || cfg->groups < 32)
4277a083ecd2c8 Patrick McHardy 2006-03-20 2039 groups = 32;
a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2040 else
a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2041 groups = cfg->groups;
4277a083ecd2c8 Patrick McHardy 2006-03-20 2042
5c398dc8f5a58b Eric Dumazet 2010-10-24 2043 listeners = kzalloc(sizeof(*listeners) + NLGRPSZ(groups), GFP_KERNEL);
4277a083ecd2c8 Patrick McHardy 2006-03-20 @2044 if (!listeners)
90ae404765d263 Markus Elfring 2023-12-31 2045 goto out_netlink_release_sock;
4277a083ecd2c8 Patrick McHardy 2006-03-20 2046
e547df909ec09d Markus Elfring 2023-12-31 2047 sk = sock->sk;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2048 sk->sk_data_ready = netlink_data_ready;
a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2049 if (cfg && cfg->input)
a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2050 nlk_sk(sk)->netlink_rcv = cfg->input;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2051
8ea65f4a2dfaaf Herbert Xu 2015-01-26 2052 if (netlink_insert(sk, 0))
77247bbb309424 Patrick McHardy 2005-08-14 2053 goto out_sock_release;
4fdb3bb723db46 Harald Welte 2005-08-09 2054
77247bbb309424 Patrick McHardy 2005-08-14 2055 nlk = nlk_sk(sk);
8fe08d70a2b61b Eric Dumazet 2023-08-11 2056 set_bit(NETLINK_F_KERNEL_SOCKET, &nlk->flags);
4fdb3bb723db46 Harald Welte 2005-08-09 2057
4fdb3bb723db46 Harald Welte 2005-08-09 2058 netlink_table_grab();
b4b510290b056b Eric W. Biederman 2007-09-12 2059 if (!nl_table[unit].registered) {
4277a083ecd2c8 Patrick McHardy 2006-03-20 2060 nl_table[unit].groups = groups;
5c398dc8f5a58b Eric Dumazet 2010-10-24 2061 rcu_assign_pointer(nl_table[unit].listeners, listeners);
af65bdfce98d79 Patrick McHardy 2007-04-20 2062 nl_table[unit].cb_mutex = cb_mutex;
77247bbb309424 Patrick McHardy 2005-08-14 2063 nl_table[unit].module = module;
9785e10aedfa0f Pablo Neira Ayuso 2012-09-08 2064 if (cfg) {
9785e10aedfa0f Pablo Neira Ayuso 2012-09-08 2065 nl_table[unit].bind = cfg->bind;
6251edd932ce3f Hiroaki SHIMODA 2014-11-13 2066 nl_table[unit].unbind = cfg->unbind;
a4c9a56e6a2cde Anjali Kulkarni 2023-07-19 2067 nl_table[unit].release = cfg->release;
9785e10aedfa0f Pablo Neira Ayuso 2012-09-08 2068 nl_table[unit].flags = cfg->flags;
9785e10aedfa0f Pablo Neira Ayuso 2012-09-08 2069 }
ab33a1711cf60b Patrick McHardy 2005-08-14 2070 nl_table[unit].registered = 1;
f937f1f46b6d2f Jesper Juhl 2007-10-15 2071 } else {
f937f1f46b6d2f Jesper Juhl 2007-10-15 2072 kfree(listeners);
869e58f87094b1 Denis V. Lunev 2008-01-18 2073 nl_table[unit].registered++;
b4b510290b056b Eric W. Biederman 2007-09-12 2074 }
4fdb3bb723db46 Harald Welte 2005-08-09 2075 netlink_table_ungrab();
77247bbb309424 Patrick McHardy 2005-08-14 2076 return sk;
77247bbb309424 Patrick McHardy 2005-08-14 2077
4fdb3bb723db46 Harald Welte 2005-08-09 2078 out_sock_release:
4277a083ecd2c8 Patrick McHardy 2006-03-20 2079 kfree(listeners);
90ae404765d263 Markus Elfring 2023-12-31 2080 out_netlink_release_sock:
9dfbec1fb2bedf Denis V. Lunev 2008-02-29 2081 netlink_kernel_release(sk);
23fe18669e7fda Pavel Emelyanov 2008-01-30 2082 return NULL;
23fe18669e7fda Pavel Emelyanov 2008-01-30 2083
23fe18669e7fda Pavel Emelyanov 2008-01-30 2084 out_sock_release_nosk:
4fdb3bb723db46 Harald Welte 2005-08-09 2085 sock_release(sock);
77247bbb309424 Patrick McHardy 2005-08-14 2086 return NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2087 }
9f00d9776bc5be Pablo Neira Ayuso 2012-09-08 2088 EXPORT_SYMBOL(__netlink_kernel_create);
b7c6ba6eb1234e Denis V. Lunev 2008-01-28 2089
… > url: https://github.com/intel-lab-lkp/linux/commits/Markus-Elfring/netlink-Improve-exception-handling-in-__netlink_kernel_create/20240101-015025 … > patch link: https://lore.kernel.org/r/223a61e9-f826-4f37-b514-ca6ed53b1269%40web.de … > All warnings (new ones prefixed by >>): > >>> net/netlink/af_netlink.c:2044:6: warning: variable 'sk' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] … > … > ^1da177e4c3f41 Linus Torvalds 2005-04-16 2016 struct sock * > 9f00d9776bc5be Pablo Neira Ayuso 2012-09-08 2017 __netlink_kernel_create(struct net *net, int unit, struct module *module, > a31f2d17b331db Pablo Neira Ayuso 2012-06-29 2018 struct netlink_kernel_cfg *cfg) > ^1da177e4c3f41 Linus Torvalds 2005-04-16 2019 { > ^1da177e4c3f41 Linus Torvalds 2005-04-16 2020 struct socket *sock; > ^1da177e4c3f41 Linus Torvalds 2005-04-16 2021 struct sock *sk; … > 5c398dc8f5a58b Eric Dumazet 2010-10-24 2023 struct listeners *listeners = NULL; … > ^1da177e4c3f41 Linus Torvalds 2005-04-16 2032 if (sock_create_lite(PF_NETLINK, SOCK_DGRAM, unit, &sock)) > ^1da177e4c3f41 Linus Torvalds 2005-04-16 2033 return NULL; … > 5c398dc8f5a58b Eric Dumazet 2010-10-24 2043 listeners = kzalloc(sizeof(*listeners) + NLGRPSZ(groups), GFP_KERNEL); > 4277a083ecd2c8 Patrick McHardy 2006-03-20 @2044 if (!listeners) > 90ae404765d263 Markus Elfring 2023-12-31 2045 goto out_netlink_release_sock; > 4277a083ecd2c8 Patrick McHardy 2006-03-20 2046 > e547df909ec09d Markus Elfring 2023-12-31 2047 sk = sock->sk; > ^1da177e4c3f41 Linus Torvalds 2005-04-16 2048 sk->sk_data_ready = netlink_data_ready; … > 4fdb3bb723db46 Harald Welte 2005-08-09 2075 netlink_table_ungrab(); > 77247bbb309424 Patrick McHardy 2005-08-14 2076 return sk; > 77247bbb309424 Patrick McHardy 2005-08-14 2077 > 4fdb3bb723db46 Harald Welte 2005-08-09 2078 out_sock_release: > 4277a083ecd2c8 Patrick McHardy 2006-03-20 2079 kfree(listeners); > 90ae404765d263 Markus Elfring 2023-12-31 2080 out_netlink_release_sock: > 9dfbec1fb2bedf Denis V. Lunev 2008-02-29 2081 netlink_kernel_release(sk); > 23fe18669e7fda Pavel Emelyanov 2008-01-30 2082 return NULL; How do you think about to use the function call “netlink_kernel_release(sock->sk)”? Regards, Markus
On Sun, 31 Dec 2023 18:44:13 +0100 Markus Elfring <Markus.Elfring@web.de> wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > Date: Sun, 31 Dec 2023 17:36:50 +0100 > > Move one assignment for the variable “sk” closer to the place > where this pointer is used. > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> NAK Useless churn of source code. If compiler will do this kind of optimization itself.
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index c3f88015cacf..b71d9c21d15b 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -2033,8 +2033,6 @@ __netlink_kernel_create(struct net *net, int unit, struct module *module, if (__netlink_create(net, sock, cb_mutex, unit, 1) < 0) goto out_sock_release_nosk; - sk = sock->sk; - if (!cfg || cfg->groups < 32) groups = 32; else @@ -2044,6 +2042,7 @@ __netlink_kernel_create(struct net *net, int unit, struct module *module, if (!listeners) goto out_netlink_release_sock; + sk = sock->sk; sk->sk_data_ready = netlink_data_ready; if (cfg && cfg->input) nlk_sk(sk)->netlink_rcv = cfg->input;