Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

virtio-net: xsk: rx: move the xdp->data adjustment to buf_to_xdp()

This commit does not do any functional changes. It moves xdp->data
adjustment for buffer other than first buffer to buf_to_xdp() helper so
that the xdp_buff adjustment does not scatter over different functions.

Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com>
Link: https://patch.msgid.link/20250705075515.34260-1-minhquangbui99@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Bui Quang Minh and committed by
Jakub Kicinski
f47e8f61 b4bb2ac0

+9 -2
+9 -2
drivers/net/virtio_net.c
··· 1179 1179 return NULL; 1180 1180 } 1181 1181 1182 - xsk_buff_set_size(xdp, len); 1182 + if (first_buf) { 1183 + xsk_buff_set_size(xdp, len); 1184 + } else { 1185 + xdp_prepare_buff(xdp, xdp->data_hard_start, 1186 + XDP_PACKET_HEADROOM - vi->hdr_len, len, 1); 1187 + xdp->flags = 0; 1188 + } 1189 + 1183 1190 xsk_buff_dma_sync_for_cpu(xdp); 1184 1191 1185 1192 return xdp; ··· 1311 1304 goto err; 1312 1305 } 1313 1306 1314 - memcpy(buf, xdp->data - vi->hdr_len, len); 1307 + memcpy(buf, xdp->data, len); 1315 1308 1316 1309 xsk_buff_free(xdp); 1317 1310