[PATCH v2] vhost: fix build

zhoumin zhoumin at loongson.cn
Thu Oct 6 05:57:34 CEST 2022


Hi, Maxime,

Thanks a lot for your kind reply.

This patch is very useful and relieves the concerns in my heart.


On Wed, Oct 5, 2022 at 22:51, Maxime Coquelin wrote:

> 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/ 
>
>

OK, thanks. I have read the whole thread, which is a good job. I'd like 
thank you all for your hard work.


> Thanks,
> Maxime
>
Thanks,

Min Zhou



More information about the dev mailing list