From patchwork Fri Mar 29 17:57:08 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13610909 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 E0BF3137742 for ; Fri, 29 Mar 2024 17:57:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711735056; cv=none; b=SlO/r7DcrYXbZHIpVH1ohFlkiuaFYgNOoj+jBvQqstlDBXwCaZ71HStINWZH5kBtBuBhuxkv9MIBpRwf3+oRQF+tQCr04JSa5XbuZH8J70dWTAJVnWe+30fXjYfUG3OTYzR8aGxfzytrqcjzaQDnBjj1IA9U7A0ZIOGlMmY7ajQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711735056; c=relaxed/simple; bh=71/3YUKHSYP3wNa970mRxUmp9Wfm8Z0TR5LXphIqR0o=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OaEdqqiqWHECBFOcQrv2CPNzk2LfLFPeGWmEJLMidHDtqrsOWVxPLZKPHVo+w81FoliuXgYQ5/cTIS0ndE3N+wT7ues7CxzkPWdbs7xoV9gu+8wiaSI6k6WLz6pzK5eAlxGnqf1+McpxleYhz9kfTzgyT8S2kthFiLacMOSpwQQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rXfJlfE5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rXfJlfE5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48077C43394; Fri, 29 Mar 2024 17:57:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711735055; bh=71/3YUKHSYP3wNa970mRxUmp9Wfm8Z0TR5LXphIqR0o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rXfJlfE5jiMCEokZ7rhw9BDQ7R2J8zFdTlnFE4ljNwWN80Ye2UasgUUAClwI+xQmO wqdTypJP3d5VIRwEcDg6B/qoQlHqqQkxyQ6DZjAb8ffg1Bn71xtwvwaL8XQB5biD30 MOd35UKoRA5Q1b8aDDVj5SU3ru2Do/ZSKy5ZlVcWVM9ka5QfjgvsxqIZGeGxy+nQ3t K+onnLoqMjT24eTz63a0R3SvFC6ZPPWQdooPJkky1VZ2PDlnad6SbN5hja+OCNjoH1 aO50ABthCk9rqqaSVlDyIhxak5/jMOzJXRr3yExHcg3smiQH25nD549REyQaKLNeF0 w7R8MdcO5XhBA== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, dw@davidwei.uk, jiri@resnulli.us, andriy.shevchenko@linux.intel.com, Jakub Kicinski , kuniyu@amazon.com Subject: [PATCH net-next v3 1/3] netlink: create a new header for internal genetlink symbols Date: Fri, 29 Mar 2024 10:57:08 -0700 Message-ID: <20240329175710.291749-2-kuba@kernel.org> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240329175710.291749-1-kuba@kernel.org> References: <20240329175710.291749-1-kuba@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org There are things in linux/genetlink.h which are only used under net/netlink/. Move them to a new local header. A new header with just 2 externs isn't great, but alternative would be to include af_netlink.h in genetlink.c which feels even worse. Signed-off-by: Jakub Kicinski --- CC: kuniyu@amazon.com CC: jiri@resnulli.us --- include/linux/genetlink.h | 5 ----- net/netlink/af_netlink.c | 2 +- net/netlink/genetlink.c | 2 ++ net/netlink/genetlink.h | 11 +++++++++++ 4 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 net/netlink/genetlink.h diff --git a/include/linux/genetlink.h b/include/linux/genetlink.h index c285968e437a..9dbd7ba9b858 100644 --- a/include/linux/genetlink.h +++ b/include/linux/genetlink.h @@ -4,15 +4,10 @@ #include - /* All generic netlink requests are serialized by a global lock. */ extern void genl_lock(void); extern void genl_unlock(void); -/* for synchronisation between af_netlink and genetlink */ -extern atomic_t genl_sk_destructing_cnt; -extern wait_queue_head_t genl_sk_destructing_waitq; - #define MODULE_ALIAS_GENL_FAMILY(family)\ MODULE_ALIAS_NET_PF_PROTO_NAME(PF_NETLINK, NETLINK_GENERIC, "-family-" family) diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 7554803218a2..dc8c3c01d51b 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -59,7 +59,6 @@ #include #include #include -#include #include #include #include @@ -73,6 +72,7 @@ #include #include "af_netlink.h" +#include "genetlink.h" struct listeners { struct rcu_head rcu; diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c index 3b7666944b11..feb54c63a116 100644 --- a/net/netlink/genetlink.c +++ b/net/netlink/genetlink.c @@ -22,6 +22,8 @@ #include #include +#include "genetlink.h" + static DEFINE_MUTEX(genl_mutex); /* serialization of message processing */ static DECLARE_RWSEM(cb_lock); diff --git a/net/netlink/genetlink.h b/net/netlink/genetlink.h new file mode 100644 index 000000000000..89bd9d2631c3 --- /dev/null +++ b/net/netlink/genetlink.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __NET_GENETLINK_H +#define __NET_GENETLINK_H + +#include + +/* for synchronisation between af_netlink and genetlink */ +extern atomic_t genl_sk_destructing_cnt; +extern wait_queue_head_t genl_sk_destructing_waitq; + +#endif /* __LINUX_GENERIC_NETLINK_H */ From patchwork Fri Mar 29 17:57:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13610910 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 9082E13792C for ; Fri, 29 Mar 2024 17:57:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711735056; cv=none; b=kIj8qhWgGHwQHzewTY6Jc1/VSBSo/VwNIR7PgiXtASimtFeum1LxnOxem4GSIyiCG1As+6RrTuf0MENfEQJqtA4cHwtSjYHuXqRlk7OtZw5QOi8YKG99X6wzcrb5oU8FcMngwEYQNs/cP40N7pLAymEFqxeRROor1vfxYeghCf4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711735056; c=relaxed/simple; bh=QqQarZgY15uMZOOjoxFPSgU1BYh2Tq32Aw0DEWAre6Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bfKGMrkdwdrlaCxfTdQcMHS7LOKM2zFMwlf30KyJSQDsBtrRYc2CyK1J3SrsYFGgdgtt0ohyFvcJBmxHjpJc9Uu/dxigXsAnEPEWWzrYLEwWrfjsnIfi+0l+2aH71pxffmlZbb10sCvdPmDzEuVdAHFZ4hg5P9Wj8dOlYzA49qg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jkx3m0qC; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jkx3m0qC" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF694C43390; Fri, 29 Mar 2024 17:57:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711735056; bh=QqQarZgY15uMZOOjoxFPSgU1BYh2Tq32Aw0DEWAre6Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jkx3m0qCvRrMi2IaCq6x5vh/msPd3KhGahENNolxnhAbFBE541s4qdJUH7+EZCmKS 9UB1JkVPJETusjCXjBL3ysaGZ4ALcjK1t1jtSYDN1Ih//B70MrV0Ghe02PcMh6ZsNC AVeUI5CP2DecJz63ql5WVtGua7m7WnsEXfaENTlmk58l2RLe6XLL+RD4iNdq7hsZJs lKfyFTpgWFVd1opKSe0z0DM07/GTEqAUZIIiEGj1p34s9Z67JzQGuJksTCq1MiVeG3 lU68OHb29jucHeWvERD8YQ4Zl1BLZrmFhrq1xBqfX4x8SupfxWxNjf6wxjiTgsjZoM aKSo+cO+JiZsA== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, dw@davidwei.uk, jiri@resnulli.us, andriy.shevchenko@linux.intel.com, Jakub Kicinski , pshelar@ovn.org, dev@openvswitch.org Subject: [PATCH net-next v3 2/3] net: openvswitch: remove unnecessary linux/genetlink.h include Date: Fri, 29 Mar 2024 10:57:09 -0700 Message-ID: <20240329175710.291749-3-kuba@kernel.org> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240329175710.291749-1-kuba@kernel.org> References: <20240329175710.291749-1-kuba@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org The only legit reason I could think of for net/genetlink.h and linux/genetlink.h to be separate would be if one was included by other headers and we wanted to keep it lightweight. That is not the case, net/openvswitch/meter.h includes linux/genetlink.h but for no apparent reason (for struct genl_family perhaps? it's not necessary, types of externs do not need to be known). Signed-off-by: Jakub Kicinski --- CC: pshelar@ovn.org CC: dev@openvswitch.org --- net/openvswitch/meter.h | 1 - 1 file changed, 1 deletion(-) diff --git a/net/openvswitch/meter.h b/net/openvswitch/meter.h index ed11cd12b512..8bbf983cd244 100644 --- a/net/openvswitch/meter.h +++ b/net/openvswitch/meter.h @@ -11,7 +11,6 @@ #include #include #include -#include #include #include From patchwork Fri Mar 29 17:57:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13610911 X-Patchwork-Delegate: kuba@kernel.org Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 C1E87139CE7 for ; Fri, 29 Mar 2024 17:57:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711735057; cv=none; b=CRCKPRqjbGbZqycF/qADvzjOiUtGaztqu6PTqn/2/3/b2AhQbV0TM7EeKAAn4t+aVY863j4NKbeqEb5e13Pz1MmFL1j4VTRkvR+tEEPdd0xvDNdhCY5DaYo51vCASEj3ObPWd4aAwYWmot63PdWyf9aC4qCd0BtnYwILqF3Sikw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711735057; c=relaxed/simple; bh=hIRRsEx1XBPA7pUjubB3zkyGY300A+bQs58u9ZYCOos=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rhiWrvoXjtrAspkl0RoQdxoUQY1lgSoqYwXEbILexiWOCqc7658CNS6L9jjWvw2qdunWMO3oybCHXYfwPNFy9u/23M6r3lgyN87g9STrtzLFd4t95bBX8RqoqtD+FgRplfEPbcQy4MhaNO2h6F9StXqKTuj7q4tldCyo5oEI62U= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=S02ySGQq; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="S02ySGQq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8E58DC43141; Fri, 29 Mar 2024 17:57:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711735057; bh=hIRRsEx1XBPA7pUjubB3zkyGY300A+bQs58u9ZYCOos=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=S02ySGQqcL7ebc1K0bY6V20Us359KenYlT+WCkdf4NjY6GVn927bwA3fPiGarjKGG jEqn/yya0L1NaC28pg5HWltRBuULXsVPLJhvE3fG9T3QWAq6VdJRjKi+R8MSNc9oO3 1Xlh+Ri1nTha0S41lT58sha1Y331RPENtKDC8LABkh7/QXFvCaTO7xKFSrldt/oz/2 qyBBE4hDTjzdxEAwO0cPDbhy+QAUwMMx4G0Hep5WkQoYmL6dSJRyg+vI1/GvStwzZp 6OOYVy1DIK/CSt3gIpg4Ih7F3fmyyAd7Sa3HWiIzcNx+z+pPGvDDMTeTWU4ZTOWHJx 0frUTuitNIKnQ== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, dw@davidwei.uk, jiri@resnulli.us, andriy.shevchenko@linux.intel.com, Jakub Kicinski , Sven Eckelmann , Jason@zx2c4.com, mareklindner@neomailbox.ch, sw@simonwunderlich.de, a@unstable.cc, pshelar@ovn.org, wireguard@lists.zx2c4.com, dev@openvswitch.org Subject: [PATCH net-next v3 3/3] genetlink: remove linux/genetlink.h Date: Fri, 29 Mar 2024 10:57:10 -0700 Message-ID: <20240329175710.291749-4-kuba@kernel.org> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240329175710.291749-1-kuba@kernel.org> References: <20240329175710.291749-1-kuba@kernel.org> Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Patchwork-Delegate: kuba@kernel.org genetlink.h is a shell of what used to be a combined uAPI and kernel header over a decade ago. It has fewer than 10 lines of code. Merge it into net/genetlink.h. In some ways it'd be better to keep the combined header under linux/ but it would make looking through git history harder. Acked-by: Sven Eckelmann Signed-off-by: Jakub Kicinski --- v3: - fix double space in a comment v2: - remove extern - include linux/net.h - improve the comment, not "all" requests are serialized CC: Jason@zx2c4.com CC: mareklindner@neomailbox.ch CC: sw@simonwunderlich.de CC: a@unstable.cc CC: pshelar@ovn.org CC: andriy.shevchenko@linux.intel.com CC: wireguard@lists.zx2c4.com CC: dev@openvswitch.org --- drivers/net/wireguard/main.c | 2 +- include/linux/genetlink.h | 14 -------------- include/linux/genl_magic_struct.h | 2 +- include/net/genetlink.h | 10 +++++++++- net/batman-adv/main.c | 2 +- net/batman-adv/netlink.c | 1 - net/openvswitch/datapath.c | 1 - 7 files changed, 12 insertions(+), 20 deletions(-) delete mode 100644 include/linux/genetlink.h diff --git a/drivers/net/wireguard/main.c b/drivers/net/wireguard/main.c index ee4da9ab8013..a00671b58701 100644 --- a/drivers/net/wireguard/main.c +++ b/drivers/net/wireguard/main.c @@ -14,7 +14,7 @@ #include #include -#include +#include #include static int __init wg_mod_init(void) diff --git a/include/linux/genetlink.h b/include/linux/genetlink.h deleted file mode 100644 index 9dbd7ba9b858..000000000000 --- a/include/linux/genetlink.h +++ /dev/null @@ -1,14 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __LINUX_GENERIC_NETLINK_H -#define __LINUX_GENERIC_NETLINK_H - -#include - -/* All generic netlink requests are serialized by a global lock. */ -extern void genl_lock(void); -extern void genl_unlock(void); - -#define MODULE_ALIAS_GENL_FAMILY(family)\ - MODULE_ALIAS_NET_PF_PROTO_NAME(PF_NETLINK, NETLINK_GENERIC, "-family-" family) - -#endif /* __LINUX_GENERIC_NETLINK_H */ diff --git a/include/linux/genl_magic_struct.h b/include/linux/genl_magic_struct.h index a419d93789ff..621b87a87d74 100644 --- a/include/linux/genl_magic_struct.h +++ b/include/linux/genl_magic_struct.h @@ -15,8 +15,8 @@ #endif #include -#include #include +#include extern int CONCATENATE(GENL_MAGIC_FAMILY, _genl_register)(void); extern void CONCATENATE(GENL_MAGIC_FAMILY, _genl_unregister)(void); diff --git a/include/net/genetlink.h b/include/net/genetlink.h index 9ece6e5a3ea8..9ab49bfeae78 100644 --- a/include/net/genetlink.h +++ b/include/net/genetlink.h @@ -2,12 +2,20 @@ #ifndef __NET_GENERIC_NETLINK_H #define __NET_GENERIC_NETLINK_H -#include +#include #include #include +#include #define GENLMSG_DEFAULT_SIZE (NLMSG_DEFAULT_SIZE - GENL_HDRLEN) +/* Non-parallel generic netlink requests are serialized by a global lock. */ +void genl_lock(void); +void genl_unlock(void); + +#define MODULE_ALIAS_GENL_FAMILY(family) \ + MODULE_ALIAS_NET_PF_PROTO_NAME(PF_NETLINK, NETLINK_GENERIC, "-family-" family) + /* Binding to multicast group requires %CAP_NET_ADMIN */ #define GENL_MCAST_CAP_NET_ADMIN BIT(0) /* Binding to multicast group requires %CAP_SYS_ADMIN */ diff --git a/net/batman-adv/main.c b/net/batman-adv/main.c index 75119f1ffccc..8e0f44c71696 100644 --- a/net/batman-adv/main.c +++ b/net/batman-adv/main.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -38,6 +37,7 @@ #include #include #include +#include #include #include #include diff --git a/net/batman-adv/netlink.c b/net/batman-adv/netlink.c index 0954757f0b8b..9362cd9d6f3d 100644 --- a/net/batman-adv/netlink.c +++ b/net/batman-adv/netlink.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include diff --git a/net/openvswitch/datapath.c b/net/openvswitch/datapath.c index 11c69415c605..99d72543abd3 100644 --- a/net/openvswitch/datapath.c +++ b/net/openvswitch/datapath.c @@ -15,7 +15,6 @@ #include #include #include -#include #include #include #include