[PATCH v2] vhost: fix build
Maxime Coquelin
maxime.coquelin at redhat.com
Wed Oct 5 16:51:35 CEST 2022
Hi Min,
On 9/26/22 05:25, zhoumin wrote:
> Hi Chenbo,
>
>
> On Mon, 26 Sep 2022, 10:57, Xia, Chenbo wrote:
>> Hi Min,
>>
>>> -----Original Message-----
>>> From: Min Zhou <zhoumin at loongson.cn>
>>> Sent: Monday, August 29, 2022 4:29 PM
>>> To: david.marchand at redhat.com; maxime.coquelin at redhat.com; Xia, Chenbo
>>> <chenbo.xia at intel.com>; zhoumin at loongson.cn
>>> Cc: dev at dpdk.org; maobibo at loongson.cn
>>> Subject: [PATCH v2] vhost: fix build
>>>
>>> On CentOS 8 or Debian 10.4 systems using gcc 12.1 to cross
>>> compile DPDK, gcc shows a following warning which will cause
>>> build to fail when build is run with -werror:
>>>
>>> In function 'mbuf_to_desc',
>>> inlined from 'vhost_enqueue_async_packed'
>>> at ../lib/vhost/virtio_net.c:1826:6,
>>> inlined from 'virtio_dev_rx_async_packed'
>>> at ../lib/vhost/virtio_net.c:1840:6,
>>> inlined from 'virtio_dev_rx_async_submit_packed.constprop'
>>> at ../lib/vhost/virtio_net.c:1900:7:
>>> ../lib/vhost/virtio_net.c:1161:35: error: 'buf_vec[0].buf_len' may be
>>> used
>>> uninitialized [-Werror=maybe-uninitialized]
>>> 1161 | buf_len = buf_vec[vec_idx].buf_len;
>>> | ~~~~~~~~~~~~~~~~^~~~~~~~
>>> ../lib/vhost/virtio_net.c: In function
>>> 'virtio_dev_rx_async_submit_packed.constprop':
>>> ../lib/vhost/virtio_net.c:1838:27: note: 'buf_vec' declared here
>>> 1838 | struct buf_vector buf_vec[BUF_VECTOR_MAX];
>>> | ^~~~~~~
>>> cc1: all warnings being treated as errors
>>>
>>> Actually, there are eight places to see the same codes in the file
>>> lib/vhost/virtio_net.c, and all these `buf_vec` arraies are
>>> initialized by sub-function calls under various conditions.
>>>
>>> Although It's hard to understand why gcc just emits warning at one
>>> of the eight places, adding validity checks for array length is
>>> reasonable and can also fix the warning.
>>>
>>> Signed-off-by: David Marchand <david.marchand at redhat.com>
>>> Signed-off-by: Min Zhou <zhoumin at loongson.cn>
>>> ---
>>> lib/vhost/virtio_net.c | 5 ++++-
>>> 1 file changed, 4 insertions(+), 1 deletion(-)
>> Just want you to know that your patch is still pending because by
>> accident
>> your fix is almost the same as a previous patch that fixes a real
>> issue but
>> that patch is still in progress:
>>
>> http://patchwork.dpdk.org/project/dpdk/patch/20220802004938.23670-2-cfontana@suse.de/
>>
>> Thanks,
>> Chenbo
>
> Thanks for your helpful reply.
> I think I can drop this patch if the patch you mentioned above could be
> accepted.
I just sent another patch that fixes your build issue without having to
add runtime checks:
http://patches.dpdk.org/project/dpdk/patch/20221005144859.70717-1-maxime.coquelin@redhat.com/
Thanks,
Maxime
More information about the dev
mailing list