qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] vfio: Use g_new() & friends where that makes ob


From: Alex Williamson
Subject: Re: [Qemu-devel] [PATCH] vfio: Use g_new() & friends where that makes obvious sense
Date: Thu, 29 Oct 2015 09:57:58 -0600

On Thu, 2015-10-29 at 16:46 +0100, Markus Armbruster wrote:
> g_new(T, n) is neater than g_malloc(sizeof(T) * n).  It's also safer,
> for two reasons.  One, it catches multiplication overflowing size_t.
> Two, it returns T * rather than void *, which lets the compiler catch
> more type errors.
> 
> This commit only touches allocations with size arguments of the form
> sizeof(T).  Same Coccinelle semantic patch as in commit b45c03f.
> 
> Signed-off-by: Markus Armbruster <address@hidden>
> ---

Looks good to me.  I'll queue this with another patch that needs to go
in, so no need for trivial to collect it.  Thanks,

Alex

>  hw/vfio/pci-quirks.c | 16 ++++++++--------
>  hw/vfio/pci.c        |  4 ++--
>  hw/vfio/platform.c   |  2 +-
>  3 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/hw/vfio/pci-quirks.c b/hw/vfio/pci-quirks.c
> index c675d1b..30c68a1 100644
> --- a/hw/vfio/pci-quirks.c
> +++ b/hw/vfio/pci-quirks.c
> @@ -284,7 +284,7 @@ static void vfio_vga_probe_ati_3c3_quirk(VFIOPCIDevice 
> *vdev)
>      }
>  
>      quirk = g_malloc0(sizeof(*quirk));
> -    quirk->mem = g_malloc0(sizeof(MemoryRegion));
> +    quirk->mem = g_new0(MemoryRegion, 1);
>      quirk->nr_mem = 1;
>  
>      memory_region_init_io(quirk->mem, OBJECT(vdev), &vfio_ati_3c3_quirk, 
> vdev,
> @@ -319,7 +319,7 @@ static void vfio_probe_ati_bar4_quirk(VFIOPCIDevice 
> *vdev, int nr)
>      }
>  
>      quirk = g_malloc0(sizeof(*quirk));
> -    quirk->mem = g_malloc0(sizeof(MemoryRegion) * 2);
> +    quirk->mem = g_new0(MemoryRegion, 2);
>      quirk->nr_mem = 2;
>      window = quirk->data = g_malloc0(sizeof(*window) +
>                                       sizeof(VFIOConfigWindowMatch));
> @@ -368,7 +368,7 @@ static void vfio_probe_ati_bar2_quirk(VFIOPCIDevice 
> *vdev, int nr)
>  
>      quirk = g_malloc0(sizeof(*quirk));
>      mirror = quirk->data = g_malloc0(sizeof(*mirror));
> -    mirror->mem = quirk->mem = g_malloc0(sizeof(MemoryRegion));
> +    mirror->mem = quirk->mem = g_new0(MemoryRegion, 1);
>      quirk->nr_mem = 1;
>      mirror->vdev = vdev;
>      mirror->offset = 0x4000;
> @@ -544,7 +544,7 @@ static void vfio_vga_probe_nvidia_3d0_quirk(VFIOPCIDevice 
> *vdev)
>  
>      quirk = g_malloc0(sizeof(*quirk));
>      quirk->data = data = g_malloc0(sizeof(*data));
> -    quirk->mem = g_malloc0(sizeof(MemoryRegion) * 2);
> +    quirk->mem = g_new0(MemoryRegion, 2);
>      quirk->nr_mem = 2;
>      data->vdev = vdev;
>  
> @@ -661,7 +661,7 @@ static void vfio_probe_nvidia_bar5_quirk(VFIOPCIDevice 
> *vdev, int nr)
>      }
>  
>      quirk = g_malloc0(sizeof(*quirk));
> -    quirk->mem = g_malloc0(sizeof(MemoryRegion) * 4);
> +    quirk->mem = g_new0(MemoryRegion, 4);
>      quirk->nr_mem = 4;
>      bar5 = quirk->data = g_malloc0(sizeof(*bar5) +
>                                     (sizeof(VFIOConfigWindowMatch) * 2));
> @@ -756,7 +756,7 @@ static void vfio_probe_nvidia_bar0_quirk(VFIOPCIDevice 
> *vdev, int nr)
>  
>      quirk = g_malloc0(sizeof(*quirk));
>      mirror = quirk->data = g_malloc0(sizeof(*mirror));
> -    mirror->mem = quirk->mem = g_malloc0(sizeof(MemoryRegion));
> +    mirror->mem = quirk->mem = g_new0(MemoryRegion, 1);
>      quirk->nr_mem = 1;
>      mirror->vdev = vdev;
>      mirror->offset = 0x88000;
> @@ -775,7 +775,7 @@ static void vfio_probe_nvidia_bar0_quirk(VFIOPCIDevice 
> *vdev, int nr)
>      if (vdev->has_vga) {
>          quirk = g_malloc0(sizeof(*quirk));
>          mirror = quirk->data = g_malloc0(sizeof(*mirror));
> -        mirror->mem = quirk->mem = g_malloc0(sizeof(MemoryRegion));
> +        mirror->mem = quirk->mem = g_new0(MemoryRegion, 1);
>          quirk->nr_mem = 1;
>          mirror->vdev = vdev;
>          mirror->offset = 0x1800;
> @@ -938,7 +938,7 @@ static void vfio_probe_rtl8168_bar2_quirk(VFIOPCIDevice 
> *vdev, int nr)
>      }
>  
>      quirk = g_malloc0(sizeof(*quirk));
> -    quirk->mem = g_malloc0(sizeof(MemoryRegion) * 2);
> +    quirk->mem = g_new0(MemoryRegion, 2);
>      quirk->nr_mem = 2;
>      quirk->data = rtl = g_malloc0(sizeof(*rtl));
>      rtl->vdev = vdev;
> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
> index 8fadbcf..e34c0c1 100644
> --- a/hw/vfio/pci.c
> +++ b/hw/vfio/pci.c
> @@ -586,7 +586,7 @@ static void vfio_msix_enable(VFIOPCIDevice *vdev)
>  {
>      vfio_disable_interrupts(vdev);
>  
> -    vdev->msi_vectors = g_malloc0(vdev->msix->entries * 
> sizeof(VFIOMSIVector));
> +    vdev->msi_vectors = g_new0(VFIOMSIVector, vdev->msix->entries);
>  
>      vdev->interrupt = VFIO_INT_MSIX;
>  
> @@ -622,7 +622,7 @@ static void vfio_msi_enable(VFIOPCIDevice *vdev)
>  
>      vdev->nr_vectors = msi_nr_vectors_allocated(&vdev->pdev);
>  retry:
> -    vdev->msi_vectors = g_malloc0(vdev->nr_vectors * sizeof(VFIOMSIVector));
> +    vdev->msi_vectors = g_new0(VFIOMSIVector, vdev->nr_vectors);
>  
>      for (i = 0; i < vdev->nr_vectors; i++) {
>          VFIOMSIVector *vector = &vdev->msi_vectors[i];
> diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
> index 5c1156c..289b498 100644
> --- a/hw/vfio/platform.c
> +++ b/hw/vfio/platform.c
> @@ -478,7 +478,7 @@ static int vfio_populate_device(VFIODevice *vbasedev)
>          struct vfio_region_info reg_info = { .argsz = sizeof(reg_info) };
>          VFIORegion *ptr;
>  
> -        vdev->regions[i] = g_malloc0(sizeof(VFIORegion));
> +        vdev->regions[i] = g_new0(VFIORegion, 1);
>          ptr = vdev->regions[i];
>          reg_info.index = i;
>          ret = ioctl(vbasedev->fd, VFIO_DEVICE_GET_REGION_INFO, &reg_info);






reply via email to

[Prev in Thread] Current Thread [Next in Thread]