From 4fcd6b991685493185c2bb8a76b21aadb658bd76 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Thu, 31 May 2007 22:15:50 -0700 Subject: [NET] gso: Fix GSO feature mask in sk_setup_caps This isn't a bug just yet as only TCP uses sk_setup_caps for GSO. However, if and when UDP or something else starts using it this is likely to cause a problem if we forget to add software emulation for it at the same time. The problem is that right now we translate GSO emulation to the bitmask NETIF_F_GSO_MASK, which includes every protocol, even ones that we cannot emulate. This patch makes it provide only the ones that we can emulate. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller diff --git a/net/core/sock.c b/net/core/sock.c index 7e51d3a..c14ce01 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -998,7 +998,7 @@ void sk_setup_caps(struct sock *sk, struct dst_entry *dst) __sk_dst_set(sk, dst); sk->sk_route_caps = dst->dev->features; if (sk->sk_route_caps & NETIF_F_GSO) - sk->sk_route_caps |= NETIF_F_GSO_MASK; + sk->sk_route_caps |= NETIF_F_GSO_SOFTWARE; if (sk_can_gso(sk)) { if (dst->header_len) sk->sk_route_caps &= ~NETIF_F_GSO_MASK; -- cgit v0.10.2