diff options
author | Julian Anastasov <ja@ssi.bg> | 2011-08-07 12:17:22 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-08 07:52:32 +0200 |
commit | d52fbfc9e5c7bb0b0dbc256edf17dee170ce839d (patch) | |
tree | 47ed6e6ba7313703cf5ab9555070afd1e1f67573 /net/ipv4/ip_output.c | |
parent | ipv4: route non-local sources for raw socket (diff) | |
download | linux-d52fbfc9e5c7bb0b0dbc256edf17dee170ce839d.tar.xz linux-d52fbfc9e5c7bb0b0dbc256edf17dee170ce839d.zip |
ipv4: use dst with ref during bcast/mcast loopback
Make sure skb dst has reference when moving to
another context. Currently, I don't see protocols that can
hit it when sending broadcasts/multicasts to loopback using
noref dsts, so it is just a precaution.
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 77d3eded665a..8c6563361ab5 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c @@ -122,6 +122,7 @@ static int ip_dev_loopback_xmit(struct sk_buff *newskb) newskb->pkt_type = PACKET_LOOPBACK; newskb->ip_summed = CHECKSUM_UNNECESSARY; WARN_ON(!skb_dst(newskb)); + skb_dst_force(newskb); netif_rx_ni(newskb); return 0; } |