[ovs-dev] [PATCH] travis: Disable check for array of flexible structures in sparse.

Numan Siddique numans at ovn.org
Fri Oct 9 08:16:22 UTC 2020


On Wed, Oct 7, 2020 at 7:49 PM Ilya Maximets <i.maximets at ovn.org> wrote:
>
> Sparse introduced new checks for flexible arrays and there is a
> false-positive in netdev-linux implementation right now that can not
> be easily fixed.  Patch sent to sparse to fix it, but we need to
> disable the check for now to unblock our CI.
>
>   lib/netdev-linux.c:1238:19: error: array of flexible structures
>
> The issue is with the following code:
>
>   union {
>       struct cmsghdr cmsg;
>       char buffer[CMSG_SPACE(sizeof(struct tpacket_auxdata))];
>   } cmsg_buffers[NETDEV_MAX_BURST];
>
> 'struct cmsghdr' contains a flexible array.  But this union is a way
> to ensure correct alignment of 'buffer', suggested by CMSG manpage.
>
> Signed-off-by: Ilya Maximets <i.maximets at ovn.org>

Acked-by: Numan Siddique <numans at ovn.org>

Numan

> ---
>
> Sparse fix: https://patchwork.kernel.org/patch/11820475/
>
> I'd like to hold this for a day or two to see if we can get fix inside
> sparse itself accepted quickly.  If not, this will need to go down to 2.12.
>
>  .travis/linux-build.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
> index 6981d1d47..6b6935794 100755
> --- a/.travis/linux-build.sh
> +++ b/.travis/linux-build.sh
> @@ -4,7 +4,7 @@ set -o errexit
>  set -x
>
>  CFLAGS_FOR_OVS="-g -O2"
> -SPARSE_FLAGS=""
> +SPARSE_FLAGS="-Wno-flexible-array-array"
>  EXTRA_OPTS="--enable-Werror"
>
>  function install_kernel()
> --
> 2.25.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


More information about the dev mailing list