Re: [PATCH v2] core, nfqueue, openvswitch: Orphan frags in skb_zerocopy and handle errors

From: Zoltan Kiss
Date: Thu Mar 20 2014 - 12:02:19 EST


On 20/03/14 12:33, Thomas Graf wrote:
On 03/20/2014 01:16 PM, Thomas Graf wrote:
On 03/19/2014 10:07 PM, Zoltan Kiss wrote:
skb_zerocopy can copy elements of the frags array between skbs, but it
doesn't
orphan them. Also, it doesn't handle errors, so this patch takes care
of that
as well.

Signed-off-by: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>

Acked-by: Thomas Graf <tgraf@xxxxxxxxxx>

I take this back ;)

---
+ if (unlikely(skb_orphan_frags(to, GFP_ATOMIC))) {
+ skb_tx_error(to);
+ return -ENOMEM;
+ }

Just noticed that you orphan the Netlink skb frags which do not
exist yet instead of the source skb frags.
Oh, sorry, I'll fix this up.


Did you consider calling skb_tx_error() for Netlink message
allocation failures for the upcall as well? That memory pressure
is currently not reported back.
Yeah, that makes sense, I'll fix it the callers. Btw. I guess that just provides some statistical data for the creator of the skb. At least for netback it only increment a stat counter.

Zoli


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/