Message ID | 20240124172345.853129-1-suzuki.poulose@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | virtio: uapi: Drop __packed attribute in linux/virtio_pci.h: | expand |
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@nvidia.com> > Cc: Michael S. Tsirkin <mst@redhat.com> > Cc: Yishai Hadas <yishaih@nvidia.com> > Cc: Alex Williamson <alex.williamson@redhat.com> > Cc: Jean-Philippe Brucker <jean-philippe@linaro.org> > Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > --- > 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 >
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") Proper form is: Fixes: 92792ac752aa ("virtio-pci: Introduce admin command sending function") > Cc: Feng Liu <feliu@nvidia.com> > Cc: Michael S. Tsirkin <mst@redhat.com> > Cc: Yishai Hadas <yishaih@nvidia.com> > Cc: Alex Williamson <alex.williamson@redhat.com> > Cc: Jean-Philippe Brucker <jean-philippe@linaro.org> > Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> > --- > 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]; Acked-by: Michael S. Tsirkin <mst@redhat.com> I will queue this. > -- > 2.34.1
On 25/01/2024 22:48, Michael S. Tsirkin wrote: > 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") > > > Proper form is: > > Fixes: 92792ac752aa ("virtio-pci: Introduce admin command sending function") Apologies, for messing that up. > >> Cc: Feng Liu <feliu@nvidia.com> >> Cc: Michael S. Tsirkin <mst@redhat.com> >> Cc: Yishai Hadas <yishaih@nvidia.com> >> Cc: Alex Williamson <alex.williamson@redhat.com> >> Cc: Jean-Philippe Brucker <jean-philippe@linaro.org> >> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> >> --- >> 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]; > > > Acked-by: Michael S. Tsirkin <mst@redhat.com> > > I will queue this. Thanks Suzuki > >> -- >> 2.34.1 >
On Thu, Jan 25, 2024 at 11:10:16PM +0000, Suzuki K Poulose wrote: > On 25/01/2024 22:48, Michael S. Tsirkin wrote: > > 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") > > > > > > Proper form is: > > > > Fixes: 92792ac752aa ("virtio-pci: Introduce admin command sending function") > > Apologies, for messing that up. Pls repost a fixed one. > > > > > Cc: Feng Liu <feliu@nvidia.com> > > > Cc: Michael S. Tsirkin <mst@redhat.com> > > > Cc: Yishai Hadas <yishaih@nvidia.com> > > > Cc: Alex Williamson <alex.williamson@redhat.com> > > > Cc: Jean-Philippe Brucker <jean-philippe@linaro.org> > > > Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> > > > --- > > > 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]; > > > > > > Acked-by: Michael S. Tsirkin <mst@redhat.com> > > > > I will queue this. > > Thanks > Suzuki > > > > > > -- > > > 2.34.1 > >
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];
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@nvidia.com> Cc: Michael S. Tsirkin <mst@redhat.com> Cc: Yishai Hadas <yishaih@nvidia.com> Cc: Alex Williamson <alex.williamson@redhat.com> Cc: Jean-Philippe Brucker <jean-philippe@linaro.org> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> --- include/uapi/linux/virtio_pci.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)