Skip to contentSkip to conversation

ipv6: tcp_v6_iff: fix compilation error on CONFIG_IPV6=n

PATCH In review Manfred Schlaegl 2 participants 2 messages Oct 19, 2014

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ipv6: tcp_v6_iff: fix compilation error on CONFIG_IPV6=n

If CONFIG_IPV6=n, then h6 in struct tcp_skb_cb.header is missing which leads to compilation-errors on tcp_v6_iff like:

In file included from net/core/sock.c:140:0:
include/net/tcp.h: In function ‘tcp_v6_iif’:
include/net/tcp.h:738:32: error: ‘union <anonymous>’ has no member named ‘h6’

This fix solves the problem by removing tcp_v6_iif, in case of CONFIG_IPV6=n.

---
 include/net/tcp.h |    2 ++
 1 file changed, 2 insertions(+)
include/net/tcp.h +2 -0
index c9766f8..4062b4f 100644
@@ -730,6 +730,7 @@ struct tcp_skb_cb {
 #define TCP_SKB_CB(__skb)      ((struct tcp_skb_cb *)&((__skb)->cb[0]))
 
 
+#if IS_ENABLED(CONFIG_IPV6)
 /* This is the variant of inet6_iif() that must be used by TCP,
  * as TCP moves IP6CB into a different location in skb->cb[]
  */
@@ -737,6 +738,7 @@ static inline int tcp_v6_iif(const struct sk_buff *skb)
 {
        return TCP_SKB_CB(skb)->header.h6.iif;
 }
+#endif
 
 /* Due to TSO, an SKB can be composed of multiple actual
  * packets.  To keep these tracked properly, we use this.
Signature · 1 line
1.7.10.4
#1 lore raw
Quoted 8 lines · Manfred Schlaegl

If CONFIG_IPV6=n, then h6 in struct tcp_skb_cb.header is missing which leads to compilation-errors on tcp_v6_iff like:

In file included from net/core/sock.c:140:0:
include/net/tcp.h: In function ‘tcp_v6_iif’:
include/net/tcp.h:738:32: error: ‘union <anonymous>’ has no member named ‘h6’

Quoted 5 lines

This fix solves the problem by removing tcp_v6_iif, in case of CONFIG_IPV6=n.

---

Yes, this was fixed yesterday, thanks.

http://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit/?id=815afe1785da727ee48cd8e63ac4a3ec6c7459b3