From: "Michael S. Tsirkin" <mst@redhat.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: David Miller <davem@davemloft.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"eric.dumazet@gmail.com" <eric.dumazet@gmail.com>
Subject: [PATCH RFC 5/6] net: orphan frags on receive
Date: Mon, 7 May 2012 16:54:52 +0300 [thread overview]
Message-ID: <a3353f6235d877c6b2d300eb5a914dbc9b78824d.1336397823.git.mst@redhat.com> (raw)
In-Reply-To: <cover.1336397823.git.mst@redhat.com>
zero copy packets are normally sent to the outside
network, but bridging, tun etc might loop them
back to host networking stack. If this happens
destructors will never be called, so orphan
the frags immediately on receive.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
net/core/dev.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index a2be59f..c0cdc00 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1630,6 +1630,8 @@ static inline int deliver_skb(struct sk_buff *skb,
struct packet_type *pt_prev,
struct net_device *orig_dev)
{
+ if (unlikely(skb_orphan_frags(skb, GFP_ATOMIC)))
+ return -ENOMEM;
atomic_inc(&skb->users);
return pt_prev->func(skb, skb->dev, pt_prev, orig_dev);
}
--
MST
next prev parent reply other threads:[~2012-05-07 13:54 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-07 13:53 [PATCH RFC 0/6] copy aside frags with destructors (was [PATCH 7/9] net: add skb_orphan_frags to copy aside frags with destructors) Michael S. Tsirkin
2012-05-07 13:54 ` [PATCH RFC 1/6] skbuff: support per-page destructors in copy_ubufs Michael S. Tsirkin
2012-05-10 17:46 ` Ian Campbell
2012-05-10 18:42 ` Michael S. Tsirkin
2012-05-11 9:00 ` Ian Campbell
2012-05-11 10:58 ` Ian Campbell
2012-05-11 12:08 ` Michael S. Tsirkin
2012-05-11 16:30 ` Michael S. Tsirkin
2012-05-12 6:01 ` Ian Campbell
2012-05-13 10:10 ` Michael S. Tsirkin
2012-05-11 21:12 ` David Miller
2012-05-07 13:54 ` [PATCH RFC 2/6] skbuff: add an api to orphan frags Michael S. Tsirkin
2012-05-08 12:47 ` Michael S. Tsirkin
2012-05-07 13:54 ` [PATCH RFC 3/6] skbuff: convert to skb_orphan_frags Michael S. Tsirkin
2012-05-07 13:54 ` [PATCH RFC 4/6] tun: orphan frags on xmit Michael S. Tsirkin
2012-05-08 14:36 ` Michael S. Tsirkin
2012-05-07 13:54 ` Michael S. Tsirkin [this message]
2012-05-09 13:54 ` [PATCH RFC 5/6] net: orphan frags on receive Ian Campbell
2012-05-09 15:12 ` Michael S. Tsirkin
2012-05-14 19:18 ` Michael S. Tsirkin
2012-05-07 13:54 ` [PATCH RFC 6/6] skbuff: set zerocopy flag on frag destructor Michael S. Tsirkin
2012-05-08 12:46 ` Michael S. Tsirkin
2012-05-08 9:41 ` [PATCH RFC 0/6] copy aside frags with destructors (was [PATCH 7/9] net: add skb_orphan_frags to copy aside frags with destructors) Michael S. Tsirkin
2012-05-08 10:54 ` Ian Campbell
2012-05-08 14:49 ` Michael S. Tsirkin
2012-05-09 13:18 ` Ian Campbell
2012-05-09 13:52 ` Michael S. Tsirkin
2012-05-09 14:01 ` Ian Campbell
2012-05-09 15:27 ` Michael S. Tsirkin
2012-05-09 14:56 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a3353f6235d877c6b2d300eb5a914dbc9b78824d.1336397823.git.mst@redhat.com \
--to=mst@redhat.com \
--cc=Ian.Campbell@citrix.com \
--cc=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).