* [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder
@ 2021-02-03 13:51 Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 1/4] ipv6: silence compilation warning for non-IPV6 builds Leon Romanovsky
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Leon Romanovsky @ 2021-02-03 13:51 UTC (permalink / raw)
To: Jakub Kicinski, David S. Miller, Pablo Neira Ayuso, Eric Dumazet
Cc: Leon Romanovsky, coreteam, Florian Westphal, Hideaki YOSHIFUJI,
Jozsef Kadlecsik, Julian Anastasov, linux-kernel, lvs-devel,
Matteo Croce, netdev, netfilter-devel, Simon Horman
From: Leon Romanovsky <leonro@nvidia.com>
Changelog:
v2:
* Patch 3: Added missing include file.
v1: https://lore.kernel.org/lkml/20210203101612.4004322-1-leon@kernel.org
* Removed Fixes lines.
* Changed target from net to be net-next.
* Patch 1: Moved function declaration to be outside config instead
games with if/endif.
* Patch 3: Moved declarations to new header file.
v0: https://lore.kernel.org/lkml/20210202135544.3262383-1-leon@kernel.org
------------------------------------------------------------------
Hi,
This short series fixes W=1 compilation warnings which I experienced
when tried to compile net/* folder.
Thanks
Leon Romanovsky (4):
ipv6: silence compilation warning for non-IPV6 builds
ipv6: move udp declarations to net/udp.h
net/core: move gro function declarations to separate header
netfilter: move handlers to net/ip_vs.h
include/linux/icmpv6.h | 2 +-
include/net/gro.h | 12 ++++++++++++
include/net/ip_vs.h | 11 +++++++++++
include/net/udp.h | 3 +++
net/core/dev.c | 7 +------
net/ipv6/ip6_input.c | 3 +--
net/ipv6/ip6_offload.c | 1 +
net/netfilter/ipvs/ip_vs_core.c | 12 ------------
8 files changed, 30 insertions(+), 21 deletions(-)
create mode 100644 include/net/gro.h
--
2.29.2
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH net-next v2 1/4] ipv6: silence compilation warning for non-IPV6 builds
2021-02-03 13:51 [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Leon Romanovsky
@ 2021-02-03 13:51 ` Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 2/4] ipv6: move udp declarations to net/udp.h Leon Romanovsky
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Leon Romanovsky @ 2021-02-03 13:51 UTC (permalink / raw)
To: Jakub Kicinski, David S. Miller, Pablo Neira Ayuso, Eric Dumazet
Cc: Leon Romanovsky, coreteam, Florian Westphal, Hideaki YOSHIFUJI,
Jozsef Kadlecsik, Julian Anastasov, lvs-devel, Matteo Croce,
netdev, netfilter-devel, Simon Horman
From: Leon Romanovsky <leonro@nvidia.com>
The W=1 compilation of allmodconfig generates the following warning:
net/ipv6/icmp.c:448:6: warning: no previous prototype for 'icmp6_send' [-Wmissing-prototypes]
448 | void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
| ^~~~~~~~~~
Fix it by providing function declaration for builds with ipv6 as a module.
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
include/linux/icmpv6.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/icmpv6.h b/include/linux/icmpv6.h
index 1b3371ae8193..452d8978ffc7 100644
--- a/include/linux/icmpv6.h
+++ b/include/linux/icmpv6.h
@@ -16,9 +16,9 @@ static inline struct icmp6hdr *icmp6_hdr(const struct sk_buff *skb)
typedef void ip6_icmp_send_t(struct sk_buff *skb, u8 type, u8 code, __u32 info,
const struct in6_addr *force_saddr);
-#if IS_BUILTIN(CONFIG_IPV6)
void icmp6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info,
const struct in6_addr *force_saddr);
+#if IS_BUILTIN(CONFIG_IPV6)
static inline void icmpv6_send(struct sk_buff *skb, u8 type, u8 code, __u32 info)
{
icmp6_send(skb, type, code, info, NULL);
--
2.29.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next v2 2/4] ipv6: move udp declarations to net/udp.h
2021-02-03 13:51 [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 1/4] ipv6: silence compilation warning for non-IPV6 builds Leon Romanovsky
@ 2021-02-03 13:51 ` Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 3/4] net/core: move gro function declarations to separate header Leon Romanovsky
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Leon Romanovsky @ 2021-02-03 13:51 UTC (permalink / raw)
To: Jakub Kicinski, David S. Miller, Pablo Neira Ayuso, Eric Dumazet
Cc: Leon Romanovsky, coreteam, Florian Westphal, Hideaki YOSHIFUJI,
Jozsef Kadlecsik, Julian Anastasov, lvs-devel, Matteo Croce,
netdev, netfilter-devel, Simon Horman
From: Leon Romanovsky <leonro@nvidia.com>
Fix the following compilation warning:
net/ipv6/udp.c:1031:30: warning: no previous prototype for 'udp_v6_early_demux' [-Wmissing-prototypes]
1031 | INDIRECT_CALLABLE_SCOPE void udp_v6_early_demux(struct sk_buff *skb)
| ^~~~~~~~~~~~~~~~~~
net/ipv6/udp.c:1072:29: warning: no previous prototype for 'udpv6_rcv' [-Wmissing-prototypes]
1072 | INDIRECT_CALLABLE_SCOPE int udpv6_rcv(struct sk_buff *skb)
| ^~~~~~~~~
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
include/net/udp.h | 3 +++
net/ipv6/ip6_input.c | 3 +--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/include/net/udp.h b/include/net/udp.h
index 877832bed471..ff2de866bca4 100644
--- a/include/net/udp.h
+++ b/include/net/udp.h
@@ -173,6 +173,9 @@ INDIRECT_CALLABLE_DECLARE(int udp4_gro_complete(struct sk_buff *, int));
INDIRECT_CALLABLE_DECLARE(struct sk_buff *udp6_gro_receive(struct list_head *,
struct sk_buff *));
INDIRECT_CALLABLE_DECLARE(int udp6_gro_complete(struct sk_buff *, int));
+INDIRECT_CALLABLE_DECLARE(void udp_v6_early_demux(struct sk_buff *));
+INDIRECT_CALLABLE_DECLARE(int udpv6_rcv(struct sk_buff *));
+
struct sk_buff *udp_gro_receive(struct list_head *head, struct sk_buff *skb,
struct udphdr *uh, struct sock *sk);
int udp_gro_complete(struct sk_buff *skb, int nhoff, udp_lookup_t lookup);
diff --git a/net/ipv6/ip6_input.c b/net/ipv6/ip6_input.c
index e96304d8a4a7..e9d2a4a409aa 100644
--- a/net/ipv6/ip6_input.c
+++ b/net/ipv6/ip6_input.c
@@ -32,6 +32,7 @@
#include <net/sock.h>
#include <net/snmp.h>
+#include <net/udp.h>
#include <net/ipv6.h>
#include <net/protocol.h>
@@ -44,7 +45,6 @@
#include <net/inet_ecn.h>
#include <net/dst_metadata.h>
-INDIRECT_CALLABLE_DECLARE(void udp_v6_early_demux(struct sk_buff *));
INDIRECT_CALLABLE_DECLARE(void tcp_v6_early_demux(struct sk_buff *));
static void ip6_rcv_finish_core(struct net *net, struct sock *sk,
struct sk_buff *skb)
@@ -352,7 +352,6 @@ void ipv6_list_rcv(struct list_head *head, struct packet_type *pt,
ip6_sublist_rcv(&sublist, curr_dev, curr_net);
}
-INDIRECT_CALLABLE_DECLARE(int udpv6_rcv(struct sk_buff *));
INDIRECT_CALLABLE_DECLARE(int tcp_v6_rcv(struct sk_buff *));
/*
--
2.29.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next v2 3/4] net/core: move gro function declarations to separate header
2021-02-03 13:51 [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 1/4] ipv6: silence compilation warning for non-IPV6 builds Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 2/4] ipv6: move udp declarations to net/udp.h Leon Romanovsky
@ 2021-02-03 13:51 ` Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 4/4] netfilter: move handlers to net/ip_vs.h Leon Romanovsky
2021-02-05 5:07 ` [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Jakub Kicinski
4 siblings, 0 replies; 6+ messages in thread
From: Leon Romanovsky @ 2021-02-03 13:51 UTC (permalink / raw)
To: Jakub Kicinski, David S. Miller, Pablo Neira Ayuso, Eric Dumazet
Cc: Leon Romanovsky, coreteam, Florian Westphal, Hideaki YOSHIFUJI,
Jozsef Kadlecsik, Julian Anastasov, lvs-devel, Matteo Croce,
netdev, netfilter-devel, Simon Horman
From: Leon Romanovsky <leonro@nvidia.com>
Fir the following compilation warnings:
1031 | INDIRECT_CALLABLE_SCOPE void udp_v6_early_demux(struct sk_buff *skb)
net/ipv6/ip6_offload.c:182:41: warning: no previous prototype for ‘ipv6_gro_receive’ [-Wmissing-prototypes]
182 | INDIRECT_CALLABLE_SCOPE struct sk_buff *ipv6_gro_receive(struct list_head *head,
| ^~~~~~~~~~~~~~~~
net/ipv6/ip6_offload.c:320:29: warning: no previous prototype for ‘ipv6_gro_complete’ [-Wmissing-prototypes]
320 | INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff)
| ^~~~~~~~~~~~~~~~~
net/ipv6/ip6_offload.c:182:41: warning: no previous prototype for ‘ipv6_gro_receive’ [-Wmissing-prototypes]
182 | INDIRECT_CALLABLE_SCOPE struct sk_buff *ipv6_gro_receive(struct list_head *head,
| ^~~~~~~~~~~~~~~~
net/ipv6/ip6_offload.c:320:29: warning: no previous prototype for ‘ipv6_gro_complete’ [-Wmissing-prototypes]
320 | INDIRECT_CALLABLE_SCOPE int ipv6_gro_complete(struct sk_buff *skb, int nhoff)
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
include/net/gro.h | 12 ++++++++++++
net/core/dev.c | 7 +------
net/ipv6/ip6_offload.c | 1 +
3 files changed, 14 insertions(+), 6 deletions(-)
create mode 100644 include/net/gro.h
diff --git a/include/net/gro.h b/include/net/gro.h
new file mode 100644
index 000000000000..8a6eb5303cc4
--- /dev/null
+++ b/include/net/gro.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef _NET_IPV6_GRO_H
+#define _NET_IPV6_GRO_H
+
+INDIRECT_CALLABLE_DECLARE(struct sk_buff *ipv6_gro_receive(struct list_head *,
+ struct sk_buff *));
+INDIRECT_CALLABLE_DECLARE(int ipv6_gro_complete(struct sk_buff *, int));
+INDIRECT_CALLABLE_DECLARE(struct sk_buff *inet_gro_receive(struct list_head *,
+ struct sk_buff *));
+INDIRECT_CALLABLE_DECLARE(int inet_gro_complete(struct sk_buff *, int));
+#endif /* _NET_IPV6_GRO_H */
diff --git a/net/core/dev.c b/net/core/dev.c
index c360bb5367e2..6521aada4259 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -101,6 +101,7 @@
#include <net/dsa.h>
#include <net/dst.h>
#include <net/dst_metadata.h>
+#include <net/gro.h>
#include <net/pkt_sched.h>
#include <net/pkt_cls.h>
#include <net/checksum.h>
@@ -5742,8 +5743,6 @@ static void gro_normal_one(struct napi_struct *napi, struct sk_buff *skb)
gro_normal_list(napi);
}
-INDIRECT_CALLABLE_DECLARE(int inet_gro_complete(struct sk_buff *, int));
-INDIRECT_CALLABLE_DECLARE(int ipv6_gro_complete(struct sk_buff *, int));
static int napi_gro_complete(struct napi_struct *napi, struct sk_buff *skb)
{
struct packet_offload *ptype;
@@ -5912,10 +5911,6 @@ static void gro_flush_oldest(struct napi_struct *napi, struct list_head *head)
napi_gro_complete(napi, oldest);
}
-INDIRECT_CALLABLE_DECLARE(struct sk_buff *inet_gro_receive(struct list_head *,
- struct sk_buff *));
-INDIRECT_CALLABLE_DECLARE(struct sk_buff *ipv6_gro_receive(struct list_head *,
- struct sk_buff *));
static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff *skb)
{
u32 hash = skb_get_hash_raw(skb) & (GRO_HASH_BUCKETS - 1);
diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c
index a80f90bf3ae7..1b9827ff8ccf 100644
--- a/net/ipv6/ip6_offload.c
+++ b/net/ipv6/ip6_offload.c
@@ -15,6 +15,7 @@
#include <net/inet_common.h>
#include <net/tcp.h>
#include <net/udp.h>
+#include <net/gro.h>
#include "ip6_offload.h"
--
2.29.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH net-next v2 4/4] netfilter: move handlers to net/ip_vs.h
2021-02-03 13:51 [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Leon Romanovsky
` (2 preceding siblings ...)
2021-02-03 13:51 ` [PATCH net-next v2 3/4] net/core: move gro function declarations to separate header Leon Romanovsky
@ 2021-02-03 13:51 ` Leon Romanovsky
2021-02-05 5:07 ` [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Jakub Kicinski
4 siblings, 0 replies; 6+ messages in thread
From: Leon Romanovsky @ 2021-02-03 13:51 UTC (permalink / raw)
To: Jakub Kicinski, David S. Miller, Pablo Neira Ayuso, Eric Dumazet
Cc: Leon Romanovsky, coreteam, Florian Westphal, Hideaki YOSHIFUJI,
Jozsef Kadlecsik, Julian Anastasov, lvs-devel, Matteo Croce,
netdev, netfilter-devel, Simon Horman
From: Leon Romanovsky <leonro@nvidia.com>
Fix the following compilation warnings:
net/netfilter/ipvs/ip_vs_proto_tcp.c:147:1: warning: no previous prototype for 'tcp_snat_handler' [-Wmissing-prototypes]
147 | tcp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
| ^~~~~~~~~~~~~~~~
net/netfilter/ipvs/ip_vs_proto_udp.c:136:1: warning: no previous prototype for 'udp_snat_handler' [-Wmissing-prototypes]
136 | udp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
| ^~~~~~~~~~~~~~~~
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
---
include/net/ip_vs.h | 11 +++++++++++
net/netfilter/ipvs/ip_vs_core.c | 12 ------------
2 files changed, 11 insertions(+), 12 deletions(-)
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index d609e957a3ec..7cb5a1aace40 100644
--- a/include/net/ip_vs.h
+++ b/include/net/ip_vs.h
@@ -1712,4 +1712,15 @@ ip_vs_dest_conn_overhead(struct ip_vs_dest *dest)
atomic_read(&dest->inactconns);
}
+#ifdef CONFIG_IP_VS_PROTO_TCP
+INDIRECT_CALLABLE_DECLARE(int
+ tcp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
+ struct ip_vs_conn *cp, struct ip_vs_iphdr *iph));
+#endif
+
+#ifdef CONFIG_IP_VS_PROTO_UDP
+INDIRECT_CALLABLE_DECLARE(int
+ udp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
+ struct ip_vs_conn *cp, struct ip_vs_iphdr *iph));
+#endif
#endif /* _NET_IP_VS_H */
diff --git a/net/netfilter/ipvs/ip_vs_core.c b/net/netfilter/ipvs/ip_vs_core.c
index 54e086c65721..0c132ff9b446 100644
--- a/net/netfilter/ipvs/ip_vs_core.c
+++ b/net/netfilter/ipvs/ip_vs_core.c
@@ -68,18 +68,6 @@ EXPORT_SYMBOL(ip_vs_get_debug_level);
#endif
EXPORT_SYMBOL(ip_vs_new_conn_out);
-#ifdef CONFIG_IP_VS_PROTO_TCP
-INDIRECT_CALLABLE_DECLARE(int
- tcp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
- struct ip_vs_conn *cp, struct ip_vs_iphdr *iph));
-#endif
-
-#ifdef CONFIG_IP_VS_PROTO_UDP
-INDIRECT_CALLABLE_DECLARE(int
- udp_snat_handler(struct sk_buff *skb, struct ip_vs_protocol *pp,
- struct ip_vs_conn *cp, struct ip_vs_iphdr *iph));
-#endif
-
#if defined(CONFIG_IP_VS_PROTO_TCP) && defined(CONFIG_IP_VS_PROTO_UDP)
#define SNAT_CALL(f, ...) \
INDIRECT_CALL_2(f, tcp_snat_handler, udp_snat_handler, __VA_ARGS__)
--
2.29.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder
2021-02-03 13:51 [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Leon Romanovsky
` (3 preceding siblings ...)
2021-02-03 13:51 ` [PATCH net-next v2 4/4] netfilter: move handlers to net/ip_vs.h Leon Romanovsky
@ 2021-02-05 5:07 ` Jakub Kicinski
4 siblings, 0 replies; 6+ messages in thread
From: Jakub Kicinski @ 2021-02-05 5:07 UTC (permalink / raw)
To: Leon Romanovsky
Cc: David S. Miller, Pablo Neira Ayuso, Eric Dumazet,
Leon Romanovsky, coreteam, Florian Westphal, Hideaki YOSHIFUJI,
Jozsef Kadlecsik, Julian Anastasov, linux-kernel, lvs-devel,
Matteo Croce, netdev, netfilter-devel, Simon Horman
On Wed, 3 Feb 2021 15:51:08 +0200 Leon Romanovsky wrote:
> From: Leon Romanovsky <leonro@nvidia.com>
>
> Changelog:
> v2:
> * Patch 3: Added missing include file.
> v1: https://lore.kernel.org/lkml/20210203101612.4004322-1-leon@kernel.org
> * Removed Fixes lines.
> * Changed target from net to be net-next.
> * Patch 1: Moved function declaration to be outside config instead
> games with if/endif.
> * Patch 3: Moved declarations to new header file.
> v0: https://lore.kernel.org/lkml/20210202135544.3262383-1-leon@kernel.org
Applied, thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-02-05 5:08 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-03 13:51 [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 1/4] ipv6: silence compilation warning for non-IPV6 builds Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 2/4] ipv6: move udp declarations to net/udp.h Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 3/4] net/core: move gro function declarations to separate header Leon Romanovsky
2021-02-03 13:51 ` [PATCH net-next v2 4/4] netfilter: move handlers to net/ip_vs.h Leon Romanovsky
2021-02-05 5:07 ` [PATCH net-next v2 0/4] Fix W=1 compilation warnings in net/* folder Jakub Kicinski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).