Re: [PATCH v2 net-next 0/3] gro: inline tcp6_gro_{receive,complete}
From: Eric Dumazet <edumazet@google.com>
Date: 2026-01-20 16:38:31
On Tue, Jan 20, 2026 at 5:29 PM Jakub Kicinski [off-list ref] wrote:
On Tue, 20 Jan 2026 16:44:52 +0100 Eric Dumazet wrote:quoted
On Tue, Jan 20, 2026 at 4:41 PM Eric Dumazet [off-list ref] wrote:quoted
quoted
Still not good? net/ipv6/udp_offload.c:136:17: error: static declaration of ‘udp6_gro_receive’ follows non-static declaration 136 | struct sk_buff *udp6_gro_receive(struct list_head *head, struct sk_buff *skb) | ^~~~~~~~~~~~~~~~ In file included from net/ipv6/udp_offload.c:16: ./include/net/gro.h:408:17: note: previous declaration of ‘udp6_gro_receive’ with type ‘struct sk_buff *(struct list_head *, struct sk_buff *)’ 408 | struct sk_buff *udp6_gro_receive(struct list_head *, struct sk_buff *); | ^~~~~~~~~~~~~~~~ net/ipv6/udp_offload.c:168:29: error: static declaration of ‘udp6_gro_complete’ follows non-static declaration 168 | INDIRECT_CALLABLE_SCOPE int udp6_gro_complete(struct sk_buff *skb, int nhoff) | ^~~~~~~~~~~~~~~~~ ./include/net/gro.h:409:5: note: previous declaration of ‘udp6_gro_complete’ with type ‘int(struct sk_buff *, int)’ 409 | int udp6_gro_complete(struct sk_buff *, int); | ^~~~~~~~~~~~~~~~~Oh well, I thought I tested this stuff.Interesting... clang (our default compiler for kernel) does not complain at all.Well, at least I _think_ it's this series, haven't tested. It breaks in the kselftests, no allmodconfig, here's the full config: https://netdev-ctrl.bots.linux.dev/logs/vmksft/packetdrill-dbg/results/482021/config Also possible that it's a silent conflict with another pending series.
To clarify : clang does not see an error, gcc does. I removed the INDIRECT_CALLABLE_SCOPE from both functions for v3. Thanks.