On Wed, Jan 24, 2024 at 05:23:45PM +0000, Suzuki K Poulose wrote: > Commit 92792ac752aa ("virtio-pci: Introduce admin command sending function") > added "__packed" structures to UAPI header linux/virtio_pci.h. This triggers > build failures in the consumer userspace applications without proper "definition" > of __packed (e.g., kvmtool build fails). > > Moreover, the structures are already packed well, and doesn't need explicit > packing, similar to the rest of the structures in all virtio_* headers. Remove > the __packed attribute. > > Fixes: commit 92792ac752aa ("virtio-pci: Introduce admin command sending function") > Cc: Feng Liu <feliu@xxxxxxxxxx> > Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> > Cc: Yishai Hadas <yishaih@xxxxxxxxxx> > Cc: Alex Williamson <alex.williamson@xxxxxxxxxx> > Cc: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> > Signed-off-by: Suzuki K Poulose <suzuki.poulose@xxxxxxx> Reviewed-by: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx> > --- > include/uapi/linux/virtio_pci.h | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/include/uapi/linux/virtio_pci.h b/include/uapi/linux/virtio_pci.h > index ef3810dee7ef..a8208492e822 100644 > --- a/include/uapi/linux/virtio_pci.h > +++ b/include/uapi/linux/virtio_pci.h > @@ -240,7 +240,7 @@ struct virtio_pci_cfg_cap { > #define VIRTIO_ADMIN_CMD_LEGACY_DEV_CFG_READ 0x5 > #define VIRTIO_ADMIN_CMD_LEGACY_NOTIFY_INFO 0x6 > > -struct __packed virtio_admin_cmd_hdr { > +struct virtio_admin_cmd_hdr { > __le16 opcode; > /* > * 1 - SR-IOV > @@ -252,20 +252,20 @@ struct __packed virtio_admin_cmd_hdr { > __le64 group_member_id; > }; > > -struct __packed virtio_admin_cmd_status { > +struct virtio_admin_cmd_status { > __le16 status; > __le16 status_qualifier; > /* Unused, reserved for future extensions. */ > __u8 reserved2[4]; > }; > > -struct __packed virtio_admin_cmd_legacy_wr_data { > +struct virtio_admin_cmd_legacy_wr_data { > __u8 offset; /* Starting offset of the register(s) to write. */ > __u8 reserved[7]; > __u8 registers[]; > }; > > -struct __packed virtio_admin_cmd_legacy_rd_data { > +struct virtio_admin_cmd_legacy_rd_data { > __u8 offset; /* Starting offset of the register(s) to read. */ > }; > > @@ -275,7 +275,7 @@ struct __packed virtio_admin_cmd_legacy_rd_data { > > #define VIRTIO_ADMIN_CMD_MAX_NOTIFY_INFO 4 > > -struct __packed virtio_admin_cmd_notify_info_data { > +struct virtio_admin_cmd_notify_info_data { > __u8 flags; /* 0 = end of list, 1 = owner device, 2 = member device */ > __u8 bar; /* BAR of the member or the owner device */ > __u8 padding[6]; > -- > 2.34.1 >