+8
−2
Loading
stable inclusion from stable-v6.6.54 commit e9e3424d6d4b34d2c15071c71ec249a9f78ff341 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IAZ3K2 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e9e3424d6d4b34d2c15071c71ec249a9f78ff341 -------------------------------- [ Upstream commit c11a49d58ad229a1be1ebe08a2b68fedf83db6c8 ] Currently, the virtio-net driver will perform a pre-dma-mapping for small or mergeable RX buffer. But for small packets, a mismatched address without VIRTNET_RX_PAD and xdp_headroom is used for unmapping. That will result in unsynchronized buffers when SWIOTLB is enabled, for example, when running as a TDX guest. This patch unifies the address passed to the virtio core as the address of the virtnet header and fixes the mismatched buffer address. Changes from v2: unify the buf that passed to the virtio core in small and merge mode. Changes from v1: Use ctx to get xdp_headroom. Fixes: 295525e2 ("virtio_net: merge dma operations when filling mergeable buffers") Signed-off-by:Wenbo Li <liwenbo.martin@bytedance.com> Signed-off-by:
Jiahui Cen <cenjiahui@bytedance.com> Signed-off-by:
Ying Fang <fangying.tommy@bytedance.com> Reviewed-by:
Xuan Zhuo <xuanzhuo@linux.alibaba.com> Link: https://patch.msgid.link/20240919081351.51772-1-liwenbo.martin@bytedance.com Signed-off-by:
Paolo Abeni <pabeni@redhat.com> Signed-off-by:
Sasha Levin <sashal@kernel.org> Signed-off-by:
Wen Zhiwei <wenzhiwei@kylinos.cn>