On Wed, May 01, 2019 at 07:44:53AM -0700, Matthew Wilcox wrote:
> From: "Matthew Wilcox (Oracle)" <[email protected]>
> 
> In preparation for renaming skb_frag fields, use the fine accessors which
> already exist.

It turns out not all network drivers are under drivers/net.  And others
aren't built on x86 by allyesconfig.

I'll fold this into a future v3.

diff --git a/drivers/crypto/chelsio/chtls/chtls_io.c 
b/drivers/crypto/chelsio/chtls/chtls_io.c
index 1285a1bceda7..8bfbdb003a20 100644
--- a/drivers/crypto/chelsio/chtls/chtls_io.c
+++ b/drivers/crypto/chelsio/chtls/chtls_io.c
@@ -1137,7 +1137,9 @@ int chtls_sendmsg(struct sock *sk, struct msghdr *msg, 
size_t size)
                        }
                        /* Update the skb. */
                        if (merge) {
-                               skb_shinfo(skb)->frags[i - 1].size += copy;
+                               skb_frag_size_add(
+                                               &skb_shinfo(skb)->frags[i - 1],
+                                               copy);
                        } else {
                                skb_fill_page_desc(skb, i, page, off, copy);
                                if (off + copy < pg_size) {
@@ -1250,7 +1252,7 @@ int chtls_sendpage(struct sock *sk, struct page *page,
 
                i = skb_shinfo(skb)->nr_frags;
                if (skb_can_coalesce(skb, i, page, offset)) {
-                       skb_shinfo(skb)->frags[i - 1].size += copy;
+                       skb_frag_size_add(&skb_shinfo(skb)->frags[i - 1], copy);
                } else if (i < MAX_SKB_FRAGS) {
                        get_page(page);
                        skb_fill_page_desc(skb, i, page, offset, copy);
diff --git a/drivers/hsi/clients/ssi_protocol.c 
b/drivers/hsi/clients/ssi_protocol.c
index 9f506c00ad85..7e43559a8652 100644
--- a/drivers/hsi/clients/ssi_protocol.c
+++ b/drivers/hsi/clients/ssi_protocol.c
@@ -194,7 +194,7 @@ static void ssip_skb_to_msg(struct sk_buff *skb, struct 
hsi_msg *msg)
                sg = sg_next(sg);
                BUG_ON(!sg);
                frag = &skb_shinfo(skb)->frags[i];
-               sg_set_page(sg, skb_page_frag(frag), frag->size,
+               sg_set_page(sg, skb_frag_page(frag), skb_frag_size(frag),
                                frag->page_offset);
        }
 }
diff --git a/drivers/staging/unisys/visornic/visornic_main.c 
b/drivers/staging/unisys/visornic/visornic_main.c
index 1c1a470d2e50..bbfc4befcec2 100644
--- a/drivers/staging/unisys/visornic/visornic_main.c
+++ b/drivers/staging/unisys/visornic/visornic_main.c
@@ -285,8 +285,8 @@ static int visor_copy_fragsinfo_from_skb(struct sk_buff 
*skb,
                        count = add_physinfo_entries(page_to_pfn(
                                  skb_frag_page(&skb_shinfo(skb)->frags[frag])),
                                  skb_shinfo(skb)->frags[frag].page_offset,
-                                 skb_shinfo(skb)->frags[frag].size, count,
-                                 frags_max, frags);
+                                 skb_frag_size(&skb_shinfo(skb)->frags[frag]),
+                                 count, frags_max, frags);
                        /* add_physinfo_entries only returns
                         * zero if the frags array is out of room
                         * That should never happen because we
diff --git a/drivers/target/iscsi/cxgbit/cxgbit_target.c 
b/drivers/target/iscsi/cxgbit/cxgbit_target.c
index 9cac100b3169..9121dce05269 100644
--- a/drivers/target/iscsi/cxgbit/cxgbit_target.c
+++ b/drivers/target/iscsi/cxgbit/cxgbit_target.c
@@ -1406,7 +1406,8 @@ static void cxgbit_lro_skb_dump(struct sk_buff *skb)
                        pdu_cb->ddigest, pdu_cb->frags);
        for (i = 0; i < ssi->nr_frags; i++)
                pr_info("skb 0x%p, frag %d, off %u, sz %u.\n",
-                       skb, i, ssi->frags[i].page_offset, ssi->frags[i].size);
+                       skb, i, ssi->frags[i].page_offset,
+                       skb_frag_size(&ssi->frags[i]));
 }
 
 static void cxgbit_lro_hskb_reset(struct cxgbit_sock *csk)
@@ -1450,7 +1451,7 @@ cxgbit_lro_skb_merge(struct cxgbit_sock *csk, struct 
sk_buff *skb, u8 pdu_idx)
                hpdu_cb->frags++;
                hpdu_cb->hfrag_idx = hfrag_idx;
 
-               len = hssi->frags[hfrag_idx].size;
+               len = skb_frag_size(&hssi->frags[hfrag_idx]);;
                hskb->len += len;
                hskb->data_len += len;
                hskb->truesize += len;
@@ -1470,7 +1471,7 @@ cxgbit_lro_skb_merge(struct cxgbit_sock *csk, struct 
sk_buff *skb, u8 pdu_idx)
 
                        get_page(skb_frag_page(&hssi->frags[dfrag_idx]));
 
-                       len += hssi->frags[dfrag_idx].size;
+                       len += skb_frag_size(&hssi->frags[dfrag_idx]);
 
                        hssi->nr_frags++;
                        hpdu_cb->frags++;

Reply via email to