]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
virtio_input: use virtqueue_add_inbuf_cache_clean for events
authorMichael S. Tsirkin <mst@redhat.com>
Mon, 29 Dec 2025 23:28:28 +0000 (18:28 -0500)
committerMichael S. Tsirkin <mst@redhat.com>
Thu, 8 Jan 2026 14:54:27 +0000 (09:54 -0500)
The evts array contains 64 small (8-byte) input events that share
cachelines with each other. When CONFIG_DMA_API_DEBUG is enabled,
this can trigger warnings about overlapping DMA mappings within
the same cacheline.

Previous patch isolated the array in its own cachelines,
so the warnings are now spurious.

Use virtqueue_add_inbuf_cache_clean() to indicate that the CPU does not
write into these cache lines, suppressing these warnings.

Message-ID: <4c885b4046323f68cf5cadc7fbfb00216b11dd20.1767601130.git.mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_input.c

index 9f13de1f1d77b3bf9f6c8796d65f5975c54289e7..74df16677da83611b047f147da1e2b97391a2cca 100644 (file)
@@ -30,7 +30,7 @@ static void virtinput_queue_evtbuf(struct virtio_input *vi,
        struct scatterlist sg[1];
 
        sg_init_one(sg, evtbuf, sizeof(*evtbuf));
-       virtqueue_add_inbuf(vi->evt, sg, 1, evtbuf, GFP_ATOMIC);
+       virtqueue_add_inbuf_cache_clean(vi->evt, sg, 1, evtbuf, GFP_ATOMIC);
 }
 
 static void virtinput_recv_events(struct virtqueue *vq)