[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201116031715.7891-1-rdunlap@infradead.org>
Date: Sun, 15 Nov 2020 19:17:15 -0800
From: Randy Dunlap <rdunlap@...radead.org>
To: linux-kernel@...r.kernel.org
Cc: Randy Dunlap <rdunlap@...radead.org>,
kernel test robot <lkp@...el.com>,
Aleksandr Nogikh <nogikh@...gle.com>,
Willem de Bruijn <willemb@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, linux-next@...r.kernel.org,
netdev@...r.kernel.org,
Matthieu Baerts <matthieu.baerts@...sares.net>
Subject: [PATCH net-next v4] net: linux/skbuff.h: combine SKB_EXTENSIONS + KCOV handling
The previous Kconfig patch led to some other build errors as
reported by the 0day bot and my own overnight build testing.
These are all in <linux/skbuff.h> when KCOV is enabled but
SKB_EXTENSIONS is not enabled, so fix those by combining those conditions
in the header file.
Also, add stubs for skb_ext_add() and skb_ext_find() to reduce the
amount of ifdef-ery. (Jakub)
Fixes: 6370cc3bbd8a ("net: add kcov handle to skb extensions")
Fixes: 85ce50d337d1 ("net: kcov: don't select SKB_EXTENSIONS when there is no NET")
Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
Reported-by: kernel test robot <lkp@...el.com>
Cc: Aleksandr Nogikh <nogikh@...gle.com>
Cc: Willem de Bruijn <willemb@...gle.com>
Cc: Jakub Kicinski <kuba@...nel.org>
Cc: linux-next@...r.kernel.org
Cc: netdev@...r.kernel.org
Cc: Matthieu Baerts <matthieu.baerts@...sares.net>
---
v4: The enum for SKB_EXT_KCOV_HANDLE needs to be exposed unconditionally
because it is used in skb_get/set_kcov_handle(), which are always
present since v3.
v3: (as suggested by Jakub Kicinski <kuba@...nel.org>)
add stubs for skb_ext_add() and skb_ext_find() to reduce the ifdef-ery
v2: (as suggested by Matthieu Baerts <matthieu.baerts@...sares.net>)
drop an extraneous space in a comment;
use CONFIG_SKB_EXTENSIONS instead of CONFIG_NET;
include/linux/skbuff.h | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
--- linux-next-20201113.orig/include/linux/skbuff.h
+++ linux-next-20201113/include/linux/skbuff.h
@@ -4137,7 +4137,6 @@ static inline void skb_set_nfct(struct s
#endif
}
-#ifdef CONFIG_SKB_EXTENSIONS
enum skb_ext_id {
#if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
SKB_EXT_BRIDGE_NF,
@@ -4151,12 +4150,11 @@ enum skb_ext_id {
#if IS_ENABLED(CONFIG_MPTCP)
SKB_EXT_MPTCP,
#endif
-#if IS_ENABLED(CONFIG_KCOV)
SKB_EXT_KCOV_HANDLE,
-#endif
SKB_EXT_NUM, /* must be last */
};
+#ifdef CONFIG_SKB_EXTENSIONS
/**
* struct skb_ext - sk_buff extensions
* @refcnt: 1 on allocation, deallocated on 0
@@ -4252,6 +4250,10 @@ static inline void skb_ext_del(struct sk
static inline void __skb_ext_copy(struct sk_buff *d, const struct sk_buff *s) {}
static inline void skb_ext_copy(struct sk_buff *dst, const struct sk_buff *s) {}
static inline bool skb_has_extensions(struct sk_buff *skb) { return false; }
+static inline void *skb_ext_add(struct sk_buff *skb, enum skb_ext_id id)
+{ return NULL; }
+static inline void *skb_ext_find(const struct sk_buff *skb, enum skb_ext_id id)
+{ return NULL; }
#endif /* CONFIG_SKB_EXTENSIONS */
static inline void nf_reset_ct(struct sk_buff *skb)
@@ -4608,7 +4610,6 @@ static inline void skb_reset_redirect(st
#endif
}
-#ifdef CONFIG_KCOV
static inline void skb_set_kcov_handle(struct sk_buff *skb,
const u64 kcov_handle)
{
@@ -4632,11 +4633,6 @@ static inline u64 skb_get_kcov_handle(st
return kcov_handle ? *kcov_handle : 0;
}
-#else
-static inline void skb_set_kcov_handle(struct sk_buff *skb,
- const u64 kcov_handle) { }
-static inline u64 skb_get_kcov_handle(struct sk_buff *skb) { return 0; }
-#endif /* CONFIG_KCOV */
#endif /* __KERNEL__ */
#endif /* _LINUX_SKBUFF_H */
Powered by blists - more mailing lists