Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- commit cbeda4733e64 ("candidate cleaned up fix")
- Author: Mina Almasry <almasrymina@google.com>
- Date: Fri Apr 26 11:13:21 2024 -0700
- candidate cleaned up fix
- Signed-off-by: Mina Almasry <almasrymina@google.com>
- Change-Id: I4964ba19cbaa1cca04aa8245ff8818992db333a8
- diff --git a/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c b/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
- index 3832c2e8ea5a..e8e460a92e0e 100644
- --- a/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
- +++ b/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c
- @@ -1659,7 +1659,7 @@ static void chcr_ktls_copy_record_in_skb(struct sk_buff *nskb,
- for (i = 0; i < record->num_frags; i++) {
- skb_shinfo(nskb)->frags[i] = record->frags[i];
- /* increase the frag ref count */
- - __skb_frag_ref(&skb_shinfo(nskb)->frags[i], nskb->pp_recycle);
- + __skb_frag_ref(&skb_shinfo(nskb)->frags[i]);
- }
- skb_shinfo(nskb)->nr_frags = record->num_frags;
- diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c
- index f3f7f4cc27b3..7996b2aacba5 100644
- --- a/drivers/net/ethernet/marvell/sky2.c
- +++ b/drivers/net/ethernet/marvell/sky2.c
- @@ -2502,7 +2502,7 @@ static void skb_put_frags(struct sk_buff *skb, unsigned int hdr_space,
- if (length == 0) {
- /* don't need this page */
- - __skb_frag_unref(frag, false);
- + __skb_frag_unref(frag);
- --skb_shinfo(skb)->nr_frags;
- } else {
- size = min(length, (unsigned) PAGE_SIZE);
- diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
- index 8328df8645d5..bed460e5ea25 100644
- --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c
- +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c
- @@ -527,7 +527,7 @@ static int mlx4_en_complete_rx_desc(struct mlx4_en_priv *priv,
- fail:
- while (nr > 0) {
- nr--;
- - __skb_frag_unref(skb_shinfo(skb)->frags + nr, false);
- + __skb_frag_unref(skb_shinfo(skb)->frags + nr);
- }
- return 0;
- }
- diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c
- index f058e154a3bc..8f1f43dbb76d 100644
- --- a/drivers/net/ethernet/sun/cassini.c
- +++ b/drivers/net/ethernet/sun/cassini.c
- @@ -2000,7 +2000,7 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
- skb->len += hlen - swivel;
- skb_frag_fill_page_desc(frag, page->buffer, off, hlen - swivel);
- - __skb_frag_ref(frag, skb->pp_recycle);
- + __skb_frag_ref(frag);
- /* any more data? */
- if ((words[0] & RX_COMP1_SPLIT_PKT) && ((dlen -= hlen) > 0)) {
- @@ -2024,7 +2024,7 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
- frag++;
- skb_frag_fill_page_desc(frag, page->buffer, 0, hlen);
- - __skb_frag_ref(frag, skb->pp_recycle);
- + __skb_frag_ref(frag);
- RX_USED_ADD(page, hlen + cp->crc_size);
- }
- diff --git a/drivers/net/veth.c b/drivers/net/veth.c
- index 0b0293629329..426e68a95067 100644
- --- a/drivers/net/veth.c
- +++ b/drivers/net/veth.c
- @@ -717,7 +717,7 @@ static void veth_xdp_get(struct xdp_buff *xdp)
- return;
- for (i = 0; i < sinfo->nr_frags; i++)
- - __skb_frag_ref(&sinfo->frags[i], false);
- + __skb_frag_ref(&sinfo->frags[i]);
- }
- static int veth_convert_skb_to_xdp_buff(struct veth_rq *rq,
- diff --git a/include/linux/skbuff_ref.h b/include/linux/skbuff_ref.h
- index 4dcdbe9fbc5f..849012522656 100644
- --- a/include/linux/skbuff_ref.h
- +++ b/include/linux/skbuff_ref.h
- @@ -28,10 +28,10 @@ static inline bool napi_pp_get_page(struct page *page)
- }
- #endif
- -static inline void skb_page_ref(struct page *page, bool recycle)
- +static inline void skb_page_ref(struct page *page)
- {
- #ifdef CONFIG_PAGE_POOL
- - if (recycle && napi_pp_get_page(page))
- + if (napi_pp_get_page(page))
- return;
- #endif
- get_page(page);
- @@ -40,15 +40,13 @@ static inline void skb_page_ref(struct page *page, bool recycle)
- /**
- * __skb_frag_ref - take an addition reference on a paged fragment.
- * @frag: the paged fragment
- - * @recycle: skb->pp_recycle param of the parent skb. False if no parent skb.
- *
- * Takes an additional reference on the paged fragment @frag. Obtains the
- - * correct reference count depending on whether skb->pp_recycle is set and
- - * whether the frag is a page pool frag.
- + * correct reference count depending on whether the frag is a page pool frag.
- */
- -static inline void __skb_frag_ref(skb_frag_t *frag, bool recycle)
- +static inline void __skb_frag_ref(skb_frag_t *frag)
- {
- - skb_page_ref(skb_frag_page(frag), recycle);
- + skb_page_ref(skb_frag_page(frag));
- }
- /**
- @@ -60,16 +58,15 @@ static inline void __skb_frag_ref(skb_frag_t *frag, bool recycle)
- */
- static inline void skb_frag_ref(struct sk_buff *skb, int f)
- {
- - __skb_frag_ref(&skb_shinfo(skb)->frags[f], skb->pp_recycle);
- + __skb_frag_ref(&skb_shinfo(skb)->frags[f]);
- }
- bool napi_pp_put_page(struct page *page);
- -static inline void
- -skb_page_unref(struct page *page, bool recycle)
- +static inline void skb_page_unref(struct page *page)
- {
- #ifdef CONFIG_PAGE_POOL
- - if (recycle && napi_pp_put_page(page))
- + if (napi_pp_put_page(page))
- return;
- #endif
- put_page(page);
- @@ -78,14 +75,13 @@ skb_page_unref(struct page *page, bool recycle)
- /**
- * __skb_frag_unref - release a reference on a paged fragment.
- * @frag: the paged fragment
- - * @recycle: recycle the page if allocated via page_pool
- *
- * Releases a reference on the paged fragment @frag
- * or recycles the page via the page_pool API.
- */
- -static inline void __skb_frag_unref(skb_frag_t *frag, bool recycle)
- +static inline void __skb_frag_unref(skb_frag_t *frag)
- {
- - skb_page_unref(skb_frag_page(frag), recycle);
- + skb_page_unref(skb_frag_page(frag));
- }
- /**
- @@ -100,7 +96,7 @@ static inline void skb_frag_unref(struct sk_buff *skb, int f)
- struct skb_shared_info *shinfo = skb_shinfo(skb);
- if (!skb_zcopy_managed(skb))
- - __skb_frag_unref(&shinfo->frags[f], skb->pp_recycle);
- + __skb_frag_unref(&shinfo->frags[f]);
- }
- #endif /* _LINUX_SKBUFF_REF_H */
- diff --git a/net/core/skbuff.c b/net/core/skbuff.c
- index 0c8b82750000..951bd13a3b7c 100644
- --- a/net/core/skbuff.c
- +++ b/net/core/skbuff.c
- @@ -1066,7 +1066,7 @@ static void skb_release_data(struct sk_buff *skb, enum skb_drop_reason reason)
- }
- for (i = 0; i < shinfo->nr_frags; i++)
- - __skb_frag_unref(&shinfo->frags[i], skb->pp_recycle);
- + __skb_frag_unref(&shinfo->frags[i]);
- free_head:
- if (shinfo->frag_list)
- @@ -4152,7 +4152,7 @@ int skb_shift(struct sk_buff *tgt, struct sk_buff *skb, int shiftlen)
- to++;
- } else {
- - __skb_frag_ref(fragfrom, skb->pp_recycle);
- + __skb_frag_ref(fragfrom);
- skb_frag_page_copy(fragto, fragfrom);
- skb_frag_off_copy(fragto, fragfrom);
- skb_frag_size_set(fragto, todo);
- @@ -4174,7 +4174,7 @@ int skb_shift(struct sk_buff *tgt, struct sk_buff *skb, int shiftlen)
- fragto = &skb_shinfo(tgt)->frags[merge];
- skb_frag_size_add(fragto, skb_frag_size(fragfrom));
- - __skb_frag_unref(fragfrom, skb->pp_recycle);
- + __skb_frag_unref(fragfrom);
- }
- /* Reposition in the original skb */
- @@ -4802,7 +4802,7 @@ struct sk_buff *skb_segment(struct sk_buff *head_skb,
- }
- *nskb_frag = (i < 0) ? skb_head_frag_to_page_desc(frag_skb) : *frag;
- - __skb_frag_ref(nskb_frag, nskb->pp_recycle);
- + __skb_frag_ref(nskb_frag);
- size = skb_frag_size(nskb_frag);
- if (pos < offset) {
- @@ -5934,7 +5934,7 @@ bool skb_try_coalesce(struct sk_buff *to, struct sk_buff *from,
- * since we set nr_frags to 0.
- */
- for (i = 0; i < from_shinfo->nr_frags; i++)
- - __skb_frag_ref(&from_shinfo->frags[i], from->pp_recycle);
- + __skb_frag_ref(&from_shinfo->frags[i]);
- to->truesize += delta;
- to->len += len;
- diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c
- index dff04580318f..347b4b1303d4 100644
- --- a/net/ipv4/esp4.c
- +++ b/net/ipv4/esp4.c
- @@ -115,7 +115,7 @@ 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(sg_page(sg));
- }
- #ifdef CONFIG_INET_ESPINTCP
- diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c
- index 6bc0a84c8d05..dbd6aa338256 100644
- --- a/net/ipv6/esp6.c
- +++ b/net/ipv6/esp6.c
- @@ -132,7 +132,7 @@ 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(sg_page(sg));
- }
- #ifdef CONFIG_INET6_ESPINTCP
- diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c
- index ab6e694f7bc2..8e173b7a4616 100644
- --- a/net/tls/tls_device.c
- +++ b/net/tls/tls_device.c
- @@ -141,7 +141,7 @@ static void destroy_record(struct tls_record_info *record)
- int i;
- for (i = 0; i < record->num_frags; i++)
- - __skb_frag_unref(&record->frags[i], false);
- + __skb_frag_unref(&record->frags[i]);
- kfree(record);
- }
- diff --git a/net/tls/tls_device_fallback.c b/net/tls/tls_device_fallback.c
- index 9237dded4467..f9e3d3d90dcf 100644
- --- a/net/tls/tls_device_fallback.c
- +++ b/net/tls/tls_device_fallback.c
- @@ -278,7 +278,7 @@ static int fill_sg_in(struct scatterlist *sg_in,
- for (i = 0; remaining > 0; i++) {
- skb_frag_t *frag = &record->frags[i];
- - __skb_frag_ref(frag, false);
- + __skb_frag_ref(frag);
- sg_set_page(sg_in + i, skb_frag_page(frag),
- skb_frag_size(frag), skb_frag_off(frag));
- diff --git a/net/tls/tls_strp.c b/net/tls/tls_strp.c
- index 58c4b06f4f0c..0a071824174d 100644
- --- a/net/tls/tls_strp.c
- +++ b/net/tls/tls_strp.c
- @@ -197,7 +197,7 @@ static void tls_strp_flush_anchor_copy(struct tls_strparser *strp)
- DEBUG_NET_WARN_ON_ONCE(atomic_read(&shinfo->dataref) != 1);
- for (i = 0; i < shinfo->nr_frags; i++)
- - __skb_frag_unref(&shinfo->frags[i], false);
- + __skb_frag_unref(&shinfo->frags[i]);
- shinfo->nr_frags = 0;
- if (strp->copy_mode) {
- kfree_skb_list(shinfo->frag_list);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement