summaryrefslogtreecommitdiff
path: root/net/core
diff options
context:
space:
mode:
authorWillem de Bruijn <willemb@google.com>2015-06-08 18:53:08 +0300
committerDavid S. Miller <davem@davemloft.net>2015-06-08 22:15:13 +0300
commitbbbf2df0039d31c6a0a9708ce4fe220a54bd5379 (patch)
tree1b6fe886986a7621b4028db18b7fe262ea6ebf97 /net/core
parentafe3f907d20f39c0eaf81f2baec247ba672f34a9 (diff)
downloadlinux-bbbf2df0039d31c6a0a9708ce4fe220a54bd5379.tar.xz
net: replace last open coded skb_orphan_frags with function call
Commit 70008aa50e92 ("skbuff: convert to skb_orphan_frags") replaced open coded tests of SKBTX_DEV_ZEROCOPY and skb_copy_ubufs with calls to helper function skb_orphan_frags. Apply that to the last remaining open coded site. Signed-off-by: Willem de Bruijn <willemb@google.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 2c1c67fad64d..aa82f9ab6a36 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1718,15 +1718,8 @@ EXPORT_SYMBOL_GPL(is_skb_forwardable);
int __dev_forward_skb(struct net_device *dev, struct sk_buff *skb)
{
- if (skb_shinfo(skb)->tx_flags & SKBTX_DEV_ZEROCOPY) {
- if (skb_copy_ubufs(skb, GFP_ATOMIC)) {
- atomic_long_inc(&dev->rx_dropped);
- kfree_skb(skb);
- return NET_RX_DROP;
- }
- }
-
- if (unlikely(!is_skb_forwardable(dev, skb))) {
+ if (skb_orphan_frags(skb, GFP_ATOMIC) ||
+ unlikely(!is_skb_forwardable(dev, skb))) {
atomic_long_inc(&dev->rx_dropped);
kfree_skb(skb);
return NET_RX_DROP;