From fcfae4cc4b59272304b932011ab392bb8b332ba4 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sun, 10 May 2026 00:57:54 +0200 Subject: [PATCH] virtio-devices: Test config_generation wraps at u8 max config_generation is a u8 and the spec mandates wrap around. Verify the increment past 0xff lands on 0x00 without panicking under overflow checks. Signed-off-by: Anatol Belski --- virtio-devices/src/transport/pci_common_config.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/virtio-devices/src/transport/pci_common_config.rs b/virtio-devices/src/transport/pci_common_config.rs index eac14e5d2..98ea81392 100644 --- a/virtio-devices/src/transport/pci_common_config.rs +++ b/virtio-devices/src/transport/pci_common_config.rs @@ -632,4 +632,12 @@ mod unit_tests { regs.consume_config_change(); assert_eq!(regs.config_generation.load(Ordering::Acquire), 0x11); } + + #[test] + fn consume_config_change_wraps_at_u8_max() { + let regs = make_regs(0xff); + regs.config_changed.store(true, Ordering::Release); + regs.consume_config_change(); + assert_eq!(regs.config_generation.load(Ordering::Acquire), 0x00); + } }