Date: Mon, 27 Jul 2026 00:10:39 +0000 From: Bjoern A. Zeeb <bz@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Subject: git: be02517f6f19 - stable/15 - LinuxKPI: skbuff: add support for frags in linuxkpi_skb_copy() Message-ID: <6a66a1ff.27722.81b95ae@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch stable/15 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=be02517f6f19a6b8c8f4e850c992c9cd749713bf commit be02517f6f19a6b8c8f4e850c992c9cd749713bf Author: Bjoern A. Zeeb <bz@FreeBSD.org> AuthorDate: 2026-02-03 22:13:24 +0000 Commit: Bjoern A. Zeeb <bz@FreeBSD.org> CommitDate: 2026-07-26 16:48:19 +0000 LinuxKPI: skbuff: add support for frags in linuxkpi_skb_copy() Sponsored by: The FreeBSD Foundation (cherry picked from commit 1e4ec01603c4b1e0b0eb524f28f731eb5cb5f6dc) --- sys/compat/linuxkpi/common/src/linux_skbuff.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/compat/linuxkpi/common/src/linux_skbuff.c b/sys/compat/linuxkpi/common/src/linux_skbuff.c index a2aa601d594e..5af9633691a6 100644 --- a/sys/compat/linuxkpi/common/src/linux_skbuff.c +++ b/sys/compat/linuxkpi/common/src/linux_skbuff.c @@ -191,6 +191,7 @@ linuxkpi_skb_copy(const struct sk_buff *skb, gfp_t gfp) struct skb_shared_info *shinfo; size_t len; unsigned int headroom; + uint16_t fragno, count; /* Full buffer size + any fragments. */ len = skb->end - skb->head + skb->data_len; @@ -209,10 +210,15 @@ linuxkpi_skb_copy(const struct sk_buff *skb, gfp_t gfp) /* Deal with fragments. */ shinfo = skb->shinfo; - if (shinfo->nr_frags > 0) { - printf("%s:%d: NOT YET SUPPORTED; missing %d frags\n", - __func__, __LINE__, shinfo->nr_frags); - SKB_TODO(); + for (count = fragno = 0; + count < shinfo->nr_frags && fragno < nitems(shinfo->frags); + fragno++) { + if (shinfo->frags[fragno].page != NULL) { + skb_put_data(new, + skb_frag_address(&shinfo->frags[fragno]), + shinfo->frags[fragno].size); + count++; + } } /* Deal with header fields. */home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a66a1ff.27722.81b95ae>
