diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2014-03-27 18:36:38 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-29 17:58:37 -0400 |
commit | a8779ec1c5e60548b7b661a8d74a8cecf7775690 (patch) | |
tree | 26c3e8d991b42c16f48c99e4f9fd117233ae8b21 /net/core/netpoll.c | |
parent | 3f705f73a0ab345321ef6e5a293c04bf7e9df818 (diff) |
netpoll: Remove gfp parameter from __netpoll_setup
The gfp parameter was added in:
commit 47be03a28cc6c80e3aa2b3e8ed6d960ff0c5c0af
Author: Amerigo Wang <amwang@redhat.com>
Date: Fri Aug 10 01:24:37 2012 +0000
netpoll: use GFP_ATOMIC in slave_enable_netpoll() and __netpoll_setup()
slave_enable_netpoll() and __netpoll_setup() may be called
with read_lock() held, so should use GFP_ATOMIC to allocate
memory. Eric suggested to pass gfp flags to __netpoll_setup().
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Cong Wang <amwang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The reason for the gfp parameter was removed in:
commit c4cdef9b7183159c23c7302aaf270d64c549f557
Author: dingtianhong <dingtianhong@huawei.com>
Date: Tue Jul 23 15:25:27 2013 +0800
bonding: don't call slave_xxx_netpoll under spinlocks
The slave_xxx_netpoll will call synchronize_rcu_bh(),
so the function may schedule and sleep, it should't be
called under spinlocks.
bond_netpoll_setup() and bond_netpoll_cleanup() are always
protected by rtnl lock, it is no need to take the read lock,
as the slave list couldn't be changed outside rtnl lock.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Cc: Jay Vosburgh <fubar@us.ibm.com>
Cc: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Nothing else that calls __netpoll_setup or ndo_netpoll_setup
requires a gfp paramter, so remove the gfp parameter from both
of these functions making the code clearer.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/netpoll.c')
-rw-r--r-- | net/core/netpoll.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 41c4e9ce1141..2c6379da295c 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c | |||
@@ -584,7 +584,7 @@ int netpoll_parse_options(struct netpoll *np, char *opt) | |||
584 | } | 584 | } |
585 | EXPORT_SYMBOL(netpoll_parse_options); | 585 | EXPORT_SYMBOL(netpoll_parse_options); |
586 | 586 | ||
587 | int __netpoll_setup(struct netpoll *np, struct net_device *ndev, gfp_t gfp) | 587 | int __netpoll_setup(struct netpoll *np, struct net_device *ndev) |
588 | { | 588 | { |
589 | struct netpoll_info *npinfo; | 589 | struct netpoll_info *npinfo; |
590 | const struct net_device_ops *ops; | 590 | const struct net_device_ops *ops; |
@@ -603,7 +603,7 @@ int __netpoll_setup(struct netpoll *np, struct net_device *ndev, gfp_t gfp) | |||
603 | } | 603 | } |
604 | 604 | ||
605 | if (!ndev->npinfo) { | 605 | if (!ndev->npinfo) { |
606 | npinfo = kmalloc(sizeof(*npinfo), gfp); | 606 | npinfo = kmalloc(sizeof(*npinfo), GFP_KERNEL); |
607 | if (!npinfo) { | 607 | if (!npinfo) { |
608 | err = -ENOMEM; | 608 | err = -ENOMEM; |
609 | goto out; | 609 | goto out; |
@@ -617,7 +617,7 @@ int __netpoll_setup(struct netpoll *np, struct net_device *ndev, gfp_t gfp) | |||
617 | 617 | ||
618 | ops = np->dev->netdev_ops; | 618 | ops = np->dev->netdev_ops; |
619 | if (ops->ndo_netpoll_setup) { | 619 | if (ops->ndo_netpoll_setup) { |
620 | err = ops->ndo_netpoll_setup(ndev, npinfo, gfp); | 620 | err = ops->ndo_netpoll_setup(ndev, npinfo); |
621 | if (err) | 621 | if (err) |
622 | goto free_npinfo; | 622 | goto free_npinfo; |
623 | } | 623 | } |
@@ -749,7 +749,7 @@ int netpoll_setup(struct netpoll *np) | |||
749 | /* fill up the skb queue */ | 749 | /* fill up the skb queue */ |
750 | refill_skbs(); | 750 | refill_skbs(); |
751 | 751 | ||
752 | err = __netpoll_setup(np, ndev, GFP_KERNEL); | 752 | err = __netpoll_setup(np, ndev); |
753 | if (err) | 753 | if (err) |
754 | goto put; | 754 | goto put; |
755 | 755 | ||