diff options
Diffstat (limited to 'net/ipv4/devinet.c')
-rw-r--r-- | net/ipv4/devinet.c | 12 |
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; |
1851 | errout: | 1851 | errout: |
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 | ||