[dpdk-stable] [dpdk-dev] [PATCH] common/mlx5: fix compilation for zero-length array
Raslan Darawsheh
rasland at nvidia.com
Wed Nov 10 09:49:18 CET 2021
Hi,
> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Matan Azrad
> Sent: Monday, November 8, 2021 2:22 PM
> To: Slava Ovsiienko <viacheslavo at nvidia.com>
> Cc: dev at dpdk.org; stable at dpdk.org
> Subject: [dpdk-dev] [PATCH] common/mlx5: fix compilation for zero-length
> array
>
> The structure of the striding RQ(MPRQ) buffer includes an array size
> defined by the RTE_PKTMBUF_HEADROOM macro added in [1].
>
> When RTE_PKTMBUF_HEADROOM is set to 0 in the compilation config file
> the
> the compilation with debug type failed:
>
> "In file included from ../drivers/common/mlx5/mlx5_common.h:25,
> from ../drivers/common/mlx5/linux/mlx5_nl.h:12,
> from ../drivers/common/mlx5/linux/mlx5_nl.c:22:
> ../drivers/common/mlx5/mlx5_common_mr.h:96:10: error: ISO C forbids
> zero-size array 'pad' [-Werror=pedantic]"
>
> Actually, the array for the first stride headroom is not needed:
>
> Each stride in the striding RQ buffer includes the headroom of the next
> stride, so the headroom of the first stride should be allocated before
> the starting point of the buffer posted to the HW(HW buffer).
>
> The striding RQ buffer is used as an attached buffer to mbuf and have
> shared information per stride.
>
> The LRO support moved all the strides shared information to the top of
> the buffer before the first stride headroom but didn't remove the old
> memory of this headroom from the buffer.
>
> Remove the old headroom memory from the striding RQ buffer.
>
> Fixes: 3a22f3877c9d ("net/mlx5: replace external mbuf shared memory")
> Cc: stable at dpdk.org
>
> [1] commit 7d6bf6b866b8 ("net/mlx5: add Multi-Packet Rx support")
>
> Signed-off-by: Matan Azrad <matan at nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo at nvidia.com>
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
More information about the stable
mailing list