From: Cornelia Huck <cohuck@redhat.com>
To: mrezanin@redhat.com
Cc: qemu-s390x@nongnu.org, Thomas Huth <thuth@redhat.com>,
qemu-devel@nongnu.org, Matthew Rosato <mjrosato@linux.ibm.com>
Subject: Re: [PATCH v3] Add missing initialization for g_autofree variables
Date: Mon, 15 Mar 2021 11:42:32 +0100 [thread overview]
Message-ID: <20210315114232.4bb6654e.cohuck@redhat.com> (raw)
In-Reply-To: <20210315101352.152888-1-mrezanin@redhat.com>
On Mon, 15 Mar 2021 11:13:52 +0100
mrezanin@redhat.com wrote:
> From: Miroslav Rezanina <mrezanin@redhat.com>
>
> When declaring g_autofree variable without inicialization, compiler
> will raise "may be used uninitialized in this function" warning due
> to automatic free handling.
>
> This is mentioned in docs/devel/style.rst (quote from section
> "Automatic memory deallocation"):
>
> * Variables declared with g_auto* MUST always be initialized,
> otherwise the cleanup function will use uninitialized stack memory
>
> Add inicialization for these declarations to prevent the warning and
> comply with coding style.
Fixes: cd7498d07fbb ("s390x/pci: Add routine to get the vfio dma available count")
Fixes: 1e7552ff5c34 ("s390x/pci: get zPCI function info from host")
I can fix the spelling mistakes pointed out by Phil while applying, and
also add an 's390x/pci' prefix.
Would not mind a quick test run from someone with the hardware.
>
> Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
>
> ---
> * v3:
> -- allocate in s390_pci_update_dma_avail instead of NULL init
>
> * v2:
> -- Removed fixes in hw/remote/memory.c and hw/remote/proxy.c
> fixed by patch sent by Zenghui Yu (multi-process: Initialize
> variables declared with g_auto*)
> ---
> hw/s390x/s390-pci-vfio.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/hw/s390x/s390-pci-vfio.c b/hw/s390x/s390-pci-vfio.c
> index ead4f222d5..2a153fa8c9 100644
> --- a/hw/s390x/s390-pci-vfio.c
> +++ b/hw/s390x/s390-pci-vfio.c
> @@ -29,14 +29,11 @@
> */
> bool s390_pci_update_dma_avail(int fd, unsigned int *avail)
> {
> - g_autofree struct vfio_iommu_type1_info *info;
> - uint32_t argsz;
> + uint32_t argsz = sizeof(struct vfio_iommu_type1_info);
> + g_autofree struct vfio_iommu_type1_info *info = g_malloc0(argsz);
>
> assert(avail);
>
> - argsz = sizeof(struct vfio_iommu_type1_info);
> - info = g_malloc0(argsz);
> -
> /*
> * If the specified argsz is not large enough to contain all capabilities
> * it will be updated upon return from the ioctl. Retry until we have
> @@ -230,7 +227,7 @@ static void s390_pci_read_pfip(S390PCIBusDevice *pbdev,
> */
> void s390_pci_get_clp_info(S390PCIBusDevice *pbdev)
> {
> - g_autofree struct vfio_device_info *info;
> + g_autofree struct vfio_device_info *info = NULL;
> VFIOPCIDevice *vfio_pci;
> uint32_t argsz;
> int fd;
next prev parent reply other threads:[~2021-03-15 10:43 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-15 10:13 [PATCH v3] Add missing initialization for g_autofree variables mrezanin
2021-03-15 10:21 ` Philippe Mathieu-Daudé
2021-03-15 10:42 ` Cornelia Huck [this message]
2021-03-15 13:31 ` Matthew Rosato
2021-03-15 11:34 ` Thomas Huth
2021-03-15 17:32 ` Cornelia Huck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210315114232.4bb6654e.cohuck@redhat.com \
--to=cohuck@redhat.com \
--cc=mjrosato@linux.ibm.com \
--cc=mrezanin@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.