vsock/virtio: use skb_frag_*() helpers
authorMina Almasry <almasrymina@google.com>
Tue, 2 Jan 2024 20:59:04 +0000 (12:59 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 4 Jan 2024 02:37:16 +0000 (18:37 -0800)
Minor fix for virtio: code wanting to access the fields inside an skb
frag should use the skb_frag_*() helpers, instead of accessing the
fields directly. This allows for extensions where the underlying
memory is not a page.

Acked-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Mina Almasry <almasrymina@google.com>
Link: https://lore.kernel.org/r/20240102205905.793738-1-almasrymina@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/vmw_vsock/virtio_transport.c

index f495b9e5186b2e965d96cc95141fa15f2abbdfc7..1748268e0694f20d35dbc1a6f5190d5914c7f453 100644 (file)
@@ -153,10 +153,10 @@ virtio_transport_send_pkt_work(struct work_struct *work)
                                 * 'virt_to_phys()' later to fill the buffer descriptor.
                                 * We don't touch memory at "virtual" address of this page.
                                 */
-                               va = page_to_virt(skb_frag->bv_page);
+                               va = page_to_virt(skb_frag_page(skb_frag));
                                sg_init_one(sgs[out_sg],
-                                           va + skb_frag->bv_offset,
-                                           skb_frag->bv_len);
+                                           va + skb_frag_off(skb_frag),
+                                           skb_frag_size(skb_frag));
                                out_sg++;
                        }
                }