On 22/06/2026 21:43, Brian Daniels wrote:
+ u32 __reserved;
Knowing ~ nothing about virtio with ~ no experience of it I'll offer up
a question/statement anyway.
Aren't your reservations here a bit conservative ? Would you not be well
advised to reserve a bit more space per other virtio protocols ?
➜ grep reserved ./include/uapi/linux/*.h | grep virtio
./include/uapi/linux/virtio_balloon.h: * __u8 reserved[6];
./include/uapi/linux/virtio_balloon.h: * In other words, add explicit
reserved fields to align field and
./include/uapi/linux/virtio_blk.h: __u8 reserved[38];
./include/uapi/linux/virtio_blk.h: __u8 reserved[56];
./include/uapi/linux/virtio_config.h: * VIRTIO_TRANSPORT_F_END are
reserved for the transport
./include/uapi/linux/virtio_crypto.h: __le32 reserved;
./include/uapi/linux/virtio_i2c.h: * Copyright (c) 2021 Intel
Corporation. All rights reserved.
./include/uapi/linux/virtio_input.h: __u8 reserved[5];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[3];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[3];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[3];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[4];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[8];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[4];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[3];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[64];
./include/uapi/linux/virtio_iommu.h: __u8
reserved[3];
./include/uapi/linux/virtio_iommu.h: __u8
reserved2[4];
./include/uapi/linux/virtio_net.h: __le16 reserved[4];
./include/uapi/linux/virtio_net.h: __le16 reserved;
./include/uapi/linux/virtio_net.h: __le16 reserved[3];
./include/uapi/linux/virtio_net.h: __u8 reserved;
./include/uapi/linux/virtio_net.h: __le16 reserved1;
./include/uapi/linux/virtio_pcidev.h: * @VIRTIO_PCIDEV_OP_RESERVED:
reserved to catch errors
./include/uapi/linux/virtio_pcidev.h: * @reserved: reserved
./include/uapi/linux/virtio_pcidev.h: __u16 reserved;
./include/uapi/linux/virtio_pci.h: * 2-65535 - reserved
./include/uapi/linux/virtio_pci.h: /* Unused, reserved for future
extensions. */
./include/uapi/linux/virtio_pci.h: __u8 reserved1[12];
./include/uapi/linux/virtio_pci.h: /* Unused, reserved for future
extensions. */
./include/uapi/linux/virtio_pci.h: __u8 reserved2[4];
./include/uapi/linux/virtio_pci.h: __u8 reserved[7];
./include/uapi/linux/virtio_pci.h: __u8 reserved[6];
./include/uapi/linux/virtio_pci.h: __u8 reserved[6];
./include/uapi/linux/virtio_pci.h: __u8 reserved[2];
./include/uapi/linux/virtio_pci.h: __u8 reserved[7];
./include/uapi/linux/virtio_pci.h: __u8 reserved[7];
./include/uapi/linux/virtio_pci.h: __u8 reserved;
./include/uapi/linux/virtio_pci.h: __le32 reserved;
./include/uapi/linux/virtio_pci.h: __u8 reserved[6];
./include/uapi/linux/virtio_pci.h: __le32 reserved;
./include/uapi/linux/virtio_pci.h: __le32 reserved;
./include/uapi/linux/virtio_pci.h: __le32 reserved;
./include/uapi/linux/virtio_pci.h: __u8 reserved[7];
./include/uapi/linux/virtio_rtc.h: * Copyright (c) 2024 Qualcomm
Innovation Center, Inc. All rights reserved.
./include/uapi/linux/virtio_rtc.h: __u8 reserved[6];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[7];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[6];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[6];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[5];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[6];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[6];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[5];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[5];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[7];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[6];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[7];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[5];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[5];
./include/uapi/linux/virtio_rtc.h: __u8 reserved[6];
./include/uapi/linux/virtio_spi.h: * Copyright (C) 2025 Qualcomm
Innovation Center, Inc. All rights reserved.
./include/uapi/linux/virtio_spi.h: * other bits are reserved as 0,
1-bit transfer is always supported.
./include/uapi/linux/virtio_spi.h: * other bits are reserved as 0,
1-bit transfer is always supported.
./include/uapi/linux/virtio_spi.h: * @reserved: for future use.
./include/uapi/linux/virtio_spi.h: __u8 reserved[3];+ u32
__reserved;
---
bod