aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/core/skbuff.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2023-05-22 13:11:11 +0100
committerJakub Kicinski <kuba@kernel.org>2023-05-23 20:48:27 -0700
commit96449f90240713bd9bd653d6b15266a1044cfa7b (patch)
treef9b649089c1dbbabb68eb687ffe61edd2b376631 /net/core/skbuff.c
parentnet: Declare MSG_SPLICE_PAGES internal sendmsg() flag (diff)
downloadwireguard-linux-96449f90240713bd9bd653d6b15266a1044cfa7b.tar.xz
wireguard-linux-96449f90240713bd9bd653d6b15266a1044cfa7b.zip
net: Pass max frags into skb_append_pagefrags()
Pass the maximum number of fragments into skb_append_pagefrags() rather than using MAX_SKB_FRAGS so that it can be used from code that wants to specify sysctl_max_skb_frags. Signed-off-by: David Howells <dhowells@redhat.com> cc: David Ahern <dsahern@kernel.org> cc: Jens Axboe <axboe@kernel.dk> cc: Matthew Wilcox <willy@infradead.org> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r--net/core/skbuff.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 6724a84ebb09..7f53dcb26ad3 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -4188,13 +4188,13 @@ unsigned int skb_find_text(struct sk_buff *skb, unsigned int from,
EXPORT_SYMBOL(skb_find_text);
int skb_append_pagefrags(struct sk_buff *skb, struct page *page,
- int offset, size_t size)
+ int offset, size_t size, size_t max_frags)
{
int i = skb_shinfo(skb)->nr_frags;
if (skb_can_coalesce(skb, i, page, offset)) {
skb_frag_size_add(&skb_shinfo(skb)->frags[i - 1], size);
- } else if (i < MAX_SKB_FRAGS) {
+ } else if (i < max_frags) {
skb_zcopy_downgrade_managed(skb);
get_page(page);
skb_fill_page_desc_noacc(skb, i, page, offset, size);