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, and modify the callers accordingly. skb_tx_error() is also added to
the callers so they will signal the failed delivery towards the creator of the
skb.
Signed-off-by: Zoltan Kiss <zoltan.kiss@xxxxxxxxxx>
---
v2: orphan the frags right before touching the frags
v3:
- orphan 'from' instead of 'to'
- call skb_tx_error() in the callers if something went wrong
v4: correctly use error path in queue_userspace_packet