Commit 70c43167 authored by Jonathan Lemon's avatar Jonathan Lemon Committed by Jakub Kicinski
Browse files

skbuff: Call skb_zcopy_clear() before unref'ing fragments



RX zerocopy fragment pages which are not allocated from the
system page pool require special handling.  Give the callback
in skb_zcopy_clear() a chance to process them first.

Signed-off-by: default avatarJonathan Lemon <jonathan.lemon@gmail.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 236a6b1c
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -605,13 +605,14 @@ static void skb_release_data(struct sk_buff *skb)
			      &shinfo->dataref))
		return;

	skb_zcopy_clear(skb, true);

	for (i = 0; i < shinfo->nr_frags; i++)
		__skb_frag_unref(&shinfo->frags[i]);

	if (shinfo->frag_list)
		kfree_skb_list(shinfo->frag_list);

	skb_zcopy_clear(skb, true);
	skb_free_head(skb);
}