From: Thomas Monjalon <thomas@monjalon.net>
To: Maxime Coquelin <maxime.coquelin@redhat.com>
Cc: dev@dpdk.org, cheng1.jiang@intel.com, chenbo.xia@intel.com,
zhoumin@loongson.cn, david.marchand@redhat.com, stable@dpdk.org
Subject: Re: [PATCH v3] vhost: fix build issues with GCC 12
Date: Thu, 06 Oct 2022 12:21:34 +0200 [thread overview]
Message-ID: <3636953.MHq7AAxBmi@thomas> (raw)
In-Reply-To: <20221005203524.89336-1-maxime.coquelin@redhat.com>
05/10/2022 22:35, Maxime Coquelin:
> This patch fixes a compilation issue met with GCC 12 on
> LoongArch64:
>
> In function ‘mbuf_to_desc’,
> inlined from ‘vhost_enqueue_async_packed’ at ../../../dpdk/lib/vhost/virtio_net.c:1822:6,
> inlined from ‘virtio_dev_rx_async_packed’ at ../../../dpdk/lib/vhost/virtio_net.c:1836:6,
> inlined from ‘virtio_dev_rx_async_submit_packed’ at ../../../dpdk/lib/vhost/virtio_net.c:1895:7:
> ../../../dpdk/lib/vhost/virtio_net.c:1159:18: error: ‘buf_vec[0].buf_addr’ may be used uninitialized [-Werror=maybe-uninitialized]
> 1159 | buf_addr = buf_vec[vec_idx].buf_addr;
> | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
> ../../../dpdk/lib/vhost/virtio_net.c: In function ‘virtio_dev_rx_async_submit_packed’:
> ../../../dpdk/lib/vhost/virtio_net.c:1834:27: note: ‘buf_vec’ declared here
> 1834 | struct buf_vector buf_vec[BUF_VECTOR_MAX];
> | ^~~~~~~
>
> It happens because the compiler assumes that 'size'
> variable in vhost_enqueue_async_packed could wrap to 0 since
> 'size' is uint32_t and pkt->pkt_len too.
>
> In practice, it would never happen since 'pkt->pkt_len' is
> unlikely to be close to UINT32_MAX, but let's just change
> 'size' to uint64_t to make the compiler happy without
> having to add runtime checks.
>
> This patch also fixes similar patterns in three other
> places, including one that also produces similar build
> issue on ARM64 in vhost_enqueue_single_packed().
>
> Fixes: 873e8dad6f49 ("vhost: support packed ring in async datapath")
> Cc: stable@dpdk.org
>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Tested-by: Amit Prakash Shukla <amitprakashs@marvell.com>
Applied, thanks.
prev parent reply other threads:[~2022-10-06 10:21 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-05 15:11 [PATCH v2] vhost: fix compilation issue in async path Maxime Coquelin
2022-10-05 15:36 ` Maxime Coquelin
2022-10-05 16:34 ` David Marchand
2022-10-05 20:35 ` [PATCH v3] vhost: fix build issues with GCC 12 Maxime Coquelin
2022-10-06 0:01 ` Stephen Hemminger
2022-10-06 7:51 ` Maxime Coquelin
2022-10-06 8:22 ` [EXT] " Amit Prakash Shukla
2022-10-06 9:05 ` Maxime Coquelin
2022-10-06 10:21 ` Thomas Monjalon [this message]
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=3636953.MHq7AAxBmi@thomas \
--to=thomas@monjalon.net \
--cc=chenbo.xia@intel.com \
--cc=cheng1.jiang@intel.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=maxime.coquelin@redhat.com \
--cc=stable@dpdk.org \
--cc=zhoumin@loongson.cn \
/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.