From patchwork Sat Mar 9 18:34:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13587857 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 A0687481B1 for ; Sat, 9 Mar 2024 18:35:05 +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=1710009305; cv=none; b=ZyijZk9sHTZWrU/VZcgh/8r093Yt0kHpRgZLTrpqAsIna8AD3iuo6L5aNvwWlHJVLb8LYYwfE76Ag81buA2VnN/B+WwTWdI5Q7SOhoavsySFdifgBvsCG4R0luplOllyXr7wsYjte1Zj2wDq5d4onkg8SP7+rhOJ8eTcYdfoSQ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710009305; c=relaxed/simple; bh=8/w0VA1oi6faXDss+0olvw5p222l62kwa/NtjCIeLsY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IvnbvF3nDGBL6g08WG0K3mfzuYG4TqsxXW7EnZWeOXKXSycXDjWnx0dgO3pOI7XXOToxAeS7z9mD49VXPrbP9N2bQEhE5grWwx6QPzLrwtvjAne3sqJIvegpHIBrFzMXl1eUbLwDl0wb6ajLHaGTaATtFyita4G3I0YZGSeKtlo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qN+jKKzt; 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="qN+jKKzt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D77BEC43394; Sat, 9 Mar 2024 18:35:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710009305; bh=8/w0VA1oi6faXDss+0olvw5p222l62kwa/NtjCIeLsY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qN+jKKztx+UAEmDBrXAtoHdFjvQ0Znlg+e4szilW+ILKVYSMDcF9alFGMHScKGhq+ DznQ6Dt+C9tbVUhop+KgYr+i0KjEFOmwCa44BCHqT2ykdyL6jiHf6xVbEPZwMrolcN eeHo9CatK1ibfKkSVl4rhN008K/TBmXmhaatDap3pa+w2RTo6wMmWlTBg9tT2wWfLq yKNe8g6P65fDDYSYIbtkRcb/gtdYbY4qsHVOpub8FBcRwaIEri3pNI3cySXo5Rcmq9 RYRxm4sPIMGL7CHQHfJkH7A2I1LadWml6m682LJCD5Mf/JI8myrTaNsFjYHd3cUjf9 OHnzoPLSs0CPA== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, jiri@resnulli.us, Jakub Kicinski , kuniyu@amazon.com Subject: [PATCH net-next 1/3] netlink: create a new header for internal genetlink symbols Date: Sat, 9 Mar 2024 10:34:56 -0800 Message-ID: <20240309183458.3014713-2-kuba@kernel.org> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240309183458.3014713-1-kuba@kernel.org> References: <20240309183458.3014713-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 da846212fb9b..621ef3d7f044 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 Sat Mar 9 18:34:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13587858 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 CE023481BD for ; Sat, 9 Mar 2024 18:35:05 +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=1710009305; cv=none; b=swOWGIK1cMtugHGm7cnnqB4jWvS1tNeqxjhYmftS9vdZ9rRNQmWYp4kCW7A6RWv/xhE4tSH5TavHl8pQL6muCU3f31OF1oAoceJWizyb7ieKJ2KgAxYOXGVBmFULsuwQJsSY4Q53DfnZWbMz6TfXl2d//FMHeVOERr5dKGh5lOU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710009305; c=relaxed/simple; bh=QqQarZgY15uMZOOjoxFPSgU1BYh2Tq32Aw0DEWAre6Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KgbiC9tyeVrsG5JsX0Y47IV1kwsF8OoCUnhAaLz0kQiCppiocLXom6VkT1YbGfuvXQR0d1S6jmmTRsHO8KP3XZThRjkvHm2x4bOZ0ykKZp/R1Oq0jh/Lc4HXLY1GTfAnfebvIntYB+V7IjSKbV9o4vPlQrTGYyE4Ypx+Hf6f0ws= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lEypEXO5; 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="lEypEXO5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 596C7C43399; Sat, 9 Mar 2024 18:35:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710009305; bh=QqQarZgY15uMZOOjoxFPSgU1BYh2Tq32Aw0DEWAre6Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lEypEXO5fpKQ8qensJZY/+6qipbRvn4TE7HvHhdn/K0Q4hKc5EarhL1+SrCxAGItX emYEotAzdUDMBtFwx7DjHq4vhro5PcwiJ0y1gPvlBxWHu097lweiMQIorR22RRAUPx 7qtnO5jRNPCaaIADyMggm1vRbMNJj8Jfz4YKBBtrzNPBWH6ij8AC7RioU6KKFUHHw/ GI/IzXqLiOQwEngkvWqhlECgnxH1mUEFqmXhpj2IwIjkcDf+CanKk/QPHl9l6FGpU1 PskCtae3kxRuuVWMUqEeXIWXWFUbKHWVPqLtu+gCNPJq0Lw7Ncc4GO4YojalhVGxZM rPITIwesM5uxQ== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, jiri@resnulli.us, Jakub Kicinski , pshelar@ovn.org, dev@openvswitch.org Subject: [PATCH net-next 2/3] net: openvswitch: remove unnecessary linux/genetlink.h include Date: Sat, 9 Mar 2024 10:34:57 -0800 Message-ID: <20240309183458.3014713-3-kuba@kernel.org> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240309183458.3014713-1-kuba@kernel.org> References: <20240309183458.3014713-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 Reviewed-by: Simon Horman --- 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 Sat Mar 9 18:34:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 13587859 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 A03A0482DB for ; Sat, 9 Mar 2024 18:35:06 +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=1710009306; cv=none; b=obUKtW4TL8erkWaYg+EVo3xxUq36lPCkimjS/993uWD/ySbJoFgaiDzuO1l+ODxcil8mBmbubOeQ0MT95zoLbnFfGaR/tXsTBPgIgYx+h7chWNNQI/kCJh7PBiyA02kJDiSo6dJIJzRNEkD04j2y0B9hs4xREiPYja40QK7X1VY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710009306; c=relaxed/simple; bh=CaI6XbzfSVP/ZZNSkSOFjhFSN4voXtlNtdxFfrr0ITo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=g82nJjdwK2kKGs/GhgjhCcO76aP/chj+MXvfZTNpTHA3+M6WcgxFM/GB4nXVTeYykpFV7LVMYwL2/Ibb27ZIjVDS5PmOdm8SCAzW2tb+ttsDUsLiWxLKw2nyAW0BW0BJegnurBo/AaRDndbJbFABO82b+2hdmlMAucbf1oTeHwo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ub98/+79; 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="Ub98/+79" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D85EDC433F1; Sat, 9 Mar 2024 18:35:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710009306; bh=CaI6XbzfSVP/ZZNSkSOFjhFSN4voXtlNtdxFfrr0ITo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ub98/+79m+EDIF2EZVpFotXwqppx3/lmkCZNEnriQzRLs7jTC51D1ofRQB+czM+fA mDdztIG70eS4k584BKdqnLEAB9eI+5HNDuT0w7fQ2Ts8jn5+ntdSCa3oUFZBwmgEcL kPEAIe5p1T/9evZxHt7OMscT6x217A9VVPg9aLObmv6sHzEf7tSzEb4fikM6NtE6Vn gMF1ZFm2h9Tj2aKthTVZ+bKv3UKqa7D7egT0cHi58S8RWW0OtQ9v2im+W3m0G5PRHo HzoEqwQG65YGUq4WSsasZyMBHwQLYscl5tuZeD+0ebGVz76k46TsVHce3r0mokgjC2 JXKamOS+Ar/CQ== From: Jakub Kicinski To: davem@davemloft.net Cc: netdev@vger.kernel.org, edumazet@google.com, pabeni@redhat.com, jiri@resnulli.us, Jakub Kicinski , Jason@zx2c4.com, mareklindner@neomailbox.ch, sw@simonwunderlich.de, a@unstable.cc, sven@narfation.org, pshelar@ovn.org, andriy.shevchenko@linux.intel.com, wireguard@lists.zx2c4.com, dev@openvswitch.org Subject: [PATCH net-next 3/3] genetlink: remove linux/genetlink.h Date: Sat, 9 Mar 2024 10:34:58 -0800 Message-ID: <20240309183458.3014713-4-kuba@kernel.org> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240309183458.3014713-1-kuba@kernel.org> References: <20240309183458.3014713-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. Signed-off-by: Jakub Kicinski Acked-by: Sven Eckelmann --- CC: Jason@zx2c4.com CC: mareklindner@neomailbox.ch CC: sw@simonwunderlich.de CC: a@unstable.cc CC: sven@narfation.org 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 | 9 ++++++++- net/batman-adv/main.c | 2 +- net/batman-adv/netlink.c | 1 - net/openvswitch/datapath.c | 1 - 7 files changed, 11 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..090aa3e36ce3 100644 --- a/include/net/genetlink.h +++ b/include/net/genetlink.h @@ -2,12 +2,19 @@ #ifndef __NET_GENERIC_NETLINK_H #define __NET_GENERIC_NETLINK_H -#include +#include #include #include #define GENLMSG_DEFAULT_SIZE (NLMSG_DEFAULT_SIZE - GENL_HDRLEN) +/* 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) + /* 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