On 10/9/20 10:16 AM, Numan Siddique wrote: > On Wed, Oct 7, 2020 at 7:49 PM Ilya Maximets <[email protected]> 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 <[email protected]> > > Acked-by: Numan Siddique <[email protected]>
Thanks, Numan! I'm really sorry, but I lost your 'Acked-by' while applying the patch. :( > > 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. It seems that getting fix in Sparse will take some time, so I applied this patch to master and down to branch-2.13. 2.12 doesn't need it since the problematic code was introduced in 2.13. Best regards, Ilya Maximets. >> >> .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 [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
