Commit e1f4ebd9 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 'xsk-fix-negative-overflow-issues-in-zerocopy-xmit'

Jason Xing says:

====================
xsk: fix negative overflow issues in zerocopy xmit

Fix two negative overflow issues around {stmmac_xdp|igb}_xmit_zc().
====================

Link: https://patch.msgid.link/20250723142327.85187-1-kerneljasonxing@gmail.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents eccf7a34 3b7c13df
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -482,7 +482,7 @@ bool igb_xmit_zc(struct igb_ring *tx_ring, struct xsk_buff_pool *xsk_pool)
	if (!nb_pkts)
		return true;

	while (nb_pkts-- > 0) {
	for (; i < nb_pkts; i++) {
		dma = xsk_buff_raw_get_dma(xsk_pool, descs[i].addr);
		xsk_buff_raw_dma_sync_for_device(xsk_pool, dma, descs[i].len);

@@ -512,7 +512,6 @@ bool igb_xmit_zc(struct igb_ring *tx_ring, struct xsk_buff_pool *xsk_pool)

		total_bytes += descs[i].len;

		i++;
		tx_ring->next_to_use++;
		tx_buffer_info->next_to_watch = tx_desc;
		if (tx_ring->next_to_use == tx_ring->count)
+1 −1
Original line number Diff line number Diff line
@@ -2596,7 +2596,7 @@ static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget)

	budget = min(budget, stmmac_tx_avail(priv, queue));

	while (budget-- > 0) {
	for (; budget > 0; budget--) {
		struct stmmac_metadata_request meta_req;
		struct xsk_tx_metadata *meta = NULL;
		dma_addr_t dma_addr;