aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/devinet.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/devinet.c')
-rw-r--r--net/ipv4/devinet.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index e333bc86bd39..415e117967c7 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1834,7 +1834,7 @@ void inet_netconf_notify_devconf(struct net *net, int type, int ifindex,
1834 struct sk_buff *skb; 1834 struct sk_buff *skb;
1835 int err = -ENOBUFS; 1835 int err = -ENOBUFS;
1836 1836
1837 skb = nlmsg_new(inet_netconf_msgsize_devconf(type), GFP_ATOMIC); 1837 skb = nlmsg_new(inet_netconf_msgsize_devconf(type), GFP_KERNEL);
1838 if (!skb) 1838 if (!skb)
1839 goto errout; 1839 goto errout;
1840 1840
@@ -1846,7 +1846,7 @@ void inet_netconf_notify_devconf(struct net *net, int type, int ifindex,
1846 kfree_skb(skb); 1846 kfree_skb(skb);
1847 goto errout; 1847 goto errout;
1848 } 1848 }
1849 rtnl_notify(skb, net, 0, RTNLGRP_IPV4_NETCONF, NULL, GFP_ATOMIC); 1849 rtnl_notify(skb, net, 0, RTNLGRP_IPV4_NETCONF, NULL, GFP_KERNEL);
1850 return; 1850 return;
1851errout: 1851errout:
1852 if (err < 0) 1852 if (err < 0)
@@ -1903,7 +1903,7 @@ static int inet_netconf_get_devconf(struct sk_buff *in_skb,
1903 } 1903 }
1904 1904
1905 err = -ENOBUFS; 1905 err = -ENOBUFS;
1906 skb = nlmsg_new(inet_netconf_msgsize_devconf(NETCONFA_ALL), GFP_ATOMIC); 1906 skb = nlmsg_new(inet_netconf_msgsize_devconf(NETCONFA_ALL), GFP_KERNEL);
1907 if (!skb) 1907 if (!skb)
1908 goto errout; 1908 goto errout;
1909 1909
@@ -2027,16 +2027,16 @@ static void inet_forward_change(struct net *net)
2027 2027
2028 for_each_netdev(net, dev) { 2028 for_each_netdev(net, dev) {
2029 struct in_device *in_dev; 2029 struct in_device *in_dev;
2030
2030 if (on) 2031 if (on)
2031 dev_disable_lro(dev); 2032 dev_disable_lro(dev);
2032 rcu_read_lock(); 2033
2033 in_dev = __in_dev_get_rcu(dev); 2034 in_dev = __in_dev_get_rtnl(dev);
2034 if (in_dev) { 2035 if (in_dev) {
2035 IN_DEV_CONF_SET(in_dev, FORWARDING, on); 2036 IN_DEV_CONF_SET(in_dev, FORWARDING, on);
2036 inet_netconf_notify_devconf(net, NETCONFA_FORWARDING, 2037 inet_netconf_notify_devconf(net, NETCONFA_FORWARDING,
2037 dev->ifindex, &in_dev->cnf); 2038 dev->ifindex, &in_dev->cnf);
2038 } 2039 }
2039 rcu_read_unlock();
2040 } 2040 }
2041} 2041}
2042 2042