From b10fa265c64d31189379dcdd4c2f17e6ad72d976 Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Wed, 27 Oct 2010 05:43:53 +0000 Subject: [PATCH] --- yaml --- r: 218473 b: refs/heads/master c: 74b0b85b88aaa952023762e0280799aaae849841 h: refs/heads/master i: 218471: ca668a25df65dc26e237b5313700c39933c192a1 v: v3 --- [refs] | 2 +- trunk/net/ipv4/ip_gre.c | 1 + trunk/net/ipv4/ipip.c | 1 + trunk/net/ipv6/ip6_tunnel.c | 1 + trunk/net/ipv6/sit.c | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 997acec703f0..c47a1496786a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1933f0c09438ed8ccfee2281b814d9b26cef336c +refs/heads/master: 74b0b85b88aaa952023762e0280799aaae849841 diff --git a/trunk/net/ipv4/ip_gre.c b/trunk/net/ipv4/ip_gre.c index d0ffcbe369b7..01087e035b7d 100644 --- a/trunk/net/ipv4/ip_gre.c +++ b/trunk/net/ipv4/ip_gre.c @@ -1072,6 +1072,7 @@ ipgre_tunnel_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd) break; } ipgre_tunnel_unlink(ign, t); + synchronize_net(); t->parms.iph.saddr = p.iph.saddr; t->parms.iph.daddr = p.iph.daddr; t->parms.i_key = p.i_key; diff --git a/trunk/net/ipv4/ipip.c b/trunk/net/ipv4/ipip.c index e9b816e6cd73..cd300aaee78f 100644 --- a/trunk/net/ipv4/ipip.c +++ b/trunk/net/ipv4/ipip.c @@ -676,6 +676,7 @@ ipip_tunnel_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd) } t = netdev_priv(dev); ipip_tunnel_unlink(ipn, t); + synchronize_net(); t->parms.iph.saddr = p.iph.saddr; t->parms.iph.daddr = p.iph.daddr; memcpy(dev->dev_addr, &p.iph.saddr, 4); diff --git a/trunk/net/ipv6/ip6_tunnel.c b/trunk/net/ipv6/ip6_tunnel.c index 38b9a56c173f..2a59610c2a58 100644 --- a/trunk/net/ipv6/ip6_tunnel.c +++ b/trunk/net/ipv6/ip6_tunnel.c @@ -1284,6 +1284,7 @@ ip6_tnl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) t = netdev_priv(dev); ip6_tnl_unlink(ip6n, t); + synchronize_net(); err = ip6_tnl_change(t, &p); ip6_tnl_link(ip6n, t); netdev_state_change(dev); diff --git a/trunk/net/ipv6/sit.c b/trunk/net/ipv6/sit.c index 367a6cc584cc..d6bfaec3bbbf 100644 --- a/trunk/net/ipv6/sit.c +++ b/trunk/net/ipv6/sit.c @@ -963,6 +963,7 @@ ipip6_tunnel_ioctl (struct net_device *dev, struct ifreq *ifr, int cmd) } t = netdev_priv(dev); ipip6_tunnel_unlink(sitn, t); + synchronize_net(); t->parms.iph.saddr = p.iph.saddr; t->parms.iph.daddr = p.iph.daddr; memcpy(dev->dev_addr, &p.iph.saddr, 4);