On 10/14/24 05:12, Xuan Zhuo wrote:
When the frag just got a page, then may lead to regression on VM.
Specially if the sysctl net.core.high_order_alloc_disable value is 1,
then the frag always get a page when do refill.
Which could see reliable crashes or scp failure (scp a file 100M in size
to VM):
The issue is that the virtnet_rq_dma takes up 16 bytes at the beginning
of a new frag. When the frag size is larger than PAGE_SIZE,
everything is fine. However, if the frag is only one page and the
total size of the buffer and virtnet_rq_dma is larger than one page, an
overflow may occur.
Here, when the frag size is not enough, we reduce the buffer len to fix
this problem.
Fixes: f9dac92ba908 ("virtio_ring: enable premapped mode whatever use_dma_api")
Reported-by: "Si-Wei Liu" <[email protected]>
Signed-off-by: Xuan Zhuo <[email protected]>
This looks like a fix that should target the net tree, but the following
patches looks like net-next material. Any special reason to bundle them
together?
Also, please explicitly include the the target tree in the subj on next
submissions, thanks!
Paolo