Revert "ipv4: keep skb->dst around in presence of IP options"
authorPaolo Abeni <pabeni@redhat.com>
Thu, 3 Aug 2017 16:07:07 +0000 (18:07 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 7 Aug 2017 03:51:12 +0000 (20:51 -0700)
ip_options_echo() does not use anymore the skb->dst and don't
need to keep the dst around for options's sake only.
This reverts commit 34b2cef20f19c87999fff3da4071e66937db9644.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ip_sockglue.c

index 1c3354d028a428a95fdd44ff1c8b1a1acdf07e82..dd68a9ed5e408635ce73a7059581f3de48002dce 100644 (file)
@@ -1228,14 +1228,7 @@ void ipv4_pktinfo_prepare(const struct sock *sk, struct sk_buff *skb)
                pktinfo->ipi_ifindex = 0;
                pktinfo->ipi_spec_dst.s_addr = 0;
        }
-       /* We need to keep the dst for __ip_options_echo()
-        * We could restrict the test to opt.ts_needtime || opt.srr,
-        * but the following is good enough as IP options are not often used.
-        */
-       if (unlikely(IPCB(skb)->opt.optlen))
-               skb_dst_force(skb);
-       else
-               skb_dst_drop(skb);
+       skb_dst_drop(skb);
 }
 
 int ip_setsockopt(struct sock *sk, int level,