hw/vfio/common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Do not use uint64_t for the type of the declaration and __u64 when
computing the number of elements in the array.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/vfio/common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/vfio/common.c b/hw/vfio/common.c
index 0b3352f2a9d..0da4003ecf5 100644
--- a/hw/vfio/common.c
+++ b/hw/vfio/common.c
@@ -1118,7 +1118,7 @@ static int vfio_device_dma_logging_report(VFIODevice *vbasedev, hwaddr iova,
{
uint64_t buf[DIV_ROUND_UP(sizeof(struct vfio_device_feature) +
sizeof(struct vfio_device_feature_dma_logging_report),
- sizeof(__u64))] = {};
+ sizeof(uint64_t))] = {};
struct vfio_device_feature *feature = (struct vfio_device_feature *)buf;
struct vfio_device_feature_dma_logging_report *report =
(struct vfio_device_feature_dma_logging_report *)feature->data;
--
2.43.0
On Wed, Jan 17, 2024 at 05:03:44PM +0100, Paolo Bonzini wrote: > Do not use uint64_t for the type of the declaration and __u64 when > computing the number of elements in the array. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > hw/vfio/common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/vfio/common.c b/hw/vfio/common.c > index 0b3352f2a9d..0da4003ecf5 100644 > --- a/hw/vfio/common.c > +++ b/hw/vfio/common.c > @@ -1118,7 +1118,7 @@ static int vfio_device_dma_logging_report(VFIODevice *vbasedev, hwaddr iova, > { > uint64_t buf[DIV_ROUND_UP(sizeof(struct vfio_device_feature) + > sizeof(struct vfio_device_feature_dma_logging_report), > - sizeof(__u64))] = {}; > + sizeof(uint64_t))] = {}; > struct vfio_device_feature *feature = (struct vfio_device_feature *)buf; > struct vfio_device_feature_dma_logging_report *report = > (struct vfio_device_feature_dma_logging_report *)feature->data; There seem to have other places in the sme file that reference __u64. Are we going to remove all __u64 references? Or maybe something else? Copy Alex/Cedric to make sure this won't get lost.. Thanks, -- Peter Xu
Il gio 18 gen 2024, 06:09 Peter Xu <peterx@redhat.com> ha scritto: > On Wed, Jan 17, 2024 at 05:03:44PM +0100, Paolo Bonzini wrote: > > Do not use uint64_t for the type of the declaration and __u64 when > > computing the number of elements in the array. > > > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > > --- > > hw/vfio/common.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/hw/vfio/common.c b/hw/vfio/common.c > > index 0b3352f2a9d..0da4003ecf5 100644 > > --- a/hw/vfio/common.c > > +++ b/hw/vfio/common.c > > @@ -1118,7 +1118,7 @@ static int > vfio_device_dma_logging_report(VFIODevice *vbasedev, hwaddr iova, > > { > > uint64_t buf[DIV_ROUND_UP(sizeof(struct vfio_device_feature) + > > sizeof(struct > vfio_device_feature_dma_logging_report), > > - sizeof(__u64))] = {}; > > + sizeof(uint64_t))] = {}; > > struct vfio_device_feature *feature = (struct vfio_device_feature > *)buf; > > struct vfio_device_feature_dma_logging_report *report = > > (struct vfio_device_feature_dma_logging_report *)feature->data; > > There seem to have other places in the sme file that reference __u64. Are > we going to remove all __u64 references? Or maybe something else? > I wanted to remove those that are unnecessary, but in some cases you have to keep __u64, because you don't know that __u64 and uint64_t are the same type (so e.g. they could have incompatible pointer types and printf specifiers). Paolo > Copy Alex/Cedric to make sure this won't get lost.. > > Thanks, > > -- > Peter Xu > >
On 1/18/24 06:09, Peter Xu wrote: > On Wed, Jan 17, 2024 at 05:03:44PM +0100, Paolo Bonzini wrote: >> Do not use uint64_t for the type of the declaration and __u64 when >> computing the number of elements in the array. >> >> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> >> --- >> hw/vfio/common.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/hw/vfio/common.c b/hw/vfio/common.c >> index 0b3352f2a9d..0da4003ecf5 100644 >> --- a/hw/vfio/common.c >> +++ b/hw/vfio/common.c >> @@ -1118,7 +1118,7 @@ static int vfio_device_dma_logging_report(VFIODevice *vbasedev, hwaddr iova, >> { >> uint64_t buf[DIV_ROUND_UP(sizeof(struct vfio_device_feature) + >> sizeof(struct vfio_device_feature_dma_logging_report), >> - sizeof(__u64))] = {}; >> + sizeof(uint64_t))] = {}; >> struct vfio_device_feature *feature = (struct vfio_device_feature *)buf; >> struct vfio_device_feature_dma_logging_report *report = >> (struct vfio_device_feature_dma_logging_report *)feature->data; > > There seem to have other places in the sme file that reference __u64. Are > we going to remove all __u64 references? Or maybe something else? AFAIUI, this change is to match the types of the 'buf' array and the one used by sizeof. > Copy Alex/Cedric to make sure this won't get lost.. Applied to vfio-next. Thanks, C.
On 17/1/24 17:03, Paolo Bonzini wrote: > Do not use uint64_t for the type of the declaration and __u64 when > computing the number of elements in the array. > > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > hw/vfio/common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
© 2016 - 2024 Red Hat, Inc.