diff options
author | Mina Almasry <almasrymina@google.com> | 2024-09-10 19:14:51 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-09-12 05:44:31 +0200 |
commit | 9f6b619edf2e85746f261b42ae8f818a59d126f7 (patch) | |
tree | 0eba6fef2f40b4e4261e96815a9946b58869bf8e /net/ipv6/esp6.c | |
parent | memory-provider: dmabuf devmem memory provider (diff) | |
download | linux-9f6b619edf2e85746f261b42ae8f818a59d126f7.tar.xz linux-9f6b619edf2e85746f261b42ae8f818a59d126f7.zip |
net: support non paged skb frags
Make skb_frag_page() fail in the case where the frag is not backed
by a page, and fix its relevant callers to handle this case.
Signed-off-by: Mina Almasry <almasrymina@google.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jakub Kicinski <kuba@kernel.org>
Link: https://patch.msgid.link/20240910171458.219195-8-almasrymina@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv6/esp6.c')
-rw-r--r-- | net/ipv6/esp6.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c index 3920e8aa1031..b2400c226a32 100644 --- a/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c @@ -132,7 +132,8 @@ static void esp_ssg_unref(struct xfrm_state *x, void *tmp, struct sk_buff *skb) */ if (req->src != req->dst) for (sg = sg_next(req->src); sg; sg = sg_next(sg)) - skb_page_unref(sg_page(sg), skb->pp_recycle); + skb_page_unref(page_to_netmem(sg_page(sg)), + skb->pp_recycle); } #ifdef CONFIG_INET6_ESPINTCP |