From 48123669b59e53fa1e150b42028d7dccbf296158 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Wed, 6 May 2026 15:08:11 +0100 Subject: [PATCH] virtio-devices: console: Skip device-writable output descriptors The output queue handler read data from every descriptor without checking the write-only flag. The driver must not put device-writable buffers in the transmitq. Skip them with a warning. Signed-off-by: Rob Bradford Assisted-by: Claude:claude-opus-4-6 --- virtio-devices/src/console.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/virtio-devices/src/console.rs b/virtio-devices/src/console.rs index 2abf44639..4e157a55a 100644 --- a/virtio-devices/src/console.rs +++ b/virtio-devices/src/console.rs @@ -261,6 +261,10 @@ impl ConsoleEpollHandler { while let Some(mut desc_chain) = trans_queue.pop_descriptor_chain(self.mem.memory()) { while let Some(desc) = desc_chain.next() { + if desc.is_write_only() { + warn!("Skipping device-writable descriptor on transmitq"); + continue; + } if let Some(out) = &mut self.out { let mut buf: Vec = Vec::new(); desc_chain