[ovs-dev] compiling on v5.4 kernel

Gregory Rose gvrose8192 at gmail.com
Fri Dec 20 21:13:42 UTC 2019


On 12/20/2019 11:53 AM, David Ahern wrote:
> On 12/20/19 11:14 AM, Gregory Rose wrote:
>> On 12/19/2019 7:20 PM, Gregory Rose wrote:
>>> Bisecting is hard when you're doing it across 10s of thousands of
>>> Linux revisions but after a few fitsand starts I think it's this
>>> patch:
>>>
>>> commit 9b9a3f20cbe0ba9269cde6fff9f9c69907e150cf
>>> Author: Masahiro Yamada <yamada.masahiro at socionext.com>
>>> Date:   Thu Aug 15 01:06:23 2019 +0900
>>>
>>>      kbuild: split final module linking out into Makefile.modfinal
>>>
>>>      I think splitting the modpost and linking modules into separate
>>>      Makefiles will be useful especially when more complex build steps
>>>      come in. The main motivation of this commit is to integrate the
>>>      proposed klp-convert feature cleanly.
>>>
>>>      I moved the logging 'Building modules, stage 2.' to Makefile.modpost
>>>      to avoid the code duplication although I do not know whether or not
>>>      this message is needed in the first place.
>>>
>>>      Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
>>>
>>> I don't understand why it's causing the problem.  I'm no big specialist
>>> in Linux kernel kbuild foo but I will investigate and see what I come
>>> up with.  Whatever the case it is a bifurcation between kernels
>>> earlier than 5.4.  We'll need to adjust our out of treee builds
>>> accordingly I suspect.  I have no scope on that yet.
>>>
>>> - Greg
>>>
>>>
>> Confirmed this is the patch that causes our out of tree kernel module
>> builds to fail on 5.4 based kernels.  I reset my tree to upstream
>> master, ran 'make clean'.  I then checked out commit 2a7f77c
>> 'xprtrdma: Clean up xprt_rdma_set_connect_timeout()' which is the
>> commit just before the above commit.  I built that kernel and was able
>> to successfully build our out of tree kernel modules against that
>> build.
>>
>> I then checked out the very next patch, the one above, and rebuilt the
>> kernel.  Then our OOT kernel module builds fail during the modpost
>> stage as I've stated before emitting thousands of lines of errors.
>>
>> I'm looking at the patch and trying to figure out what we need to do
>> to fix our build to work against 5.4.
> Using your branch as of
>
> commit 1672395d571b34090fac14956d423092fe22051a (HEAD -> 5.4-support,
> gregrose/5.4-support)
> Author: Greg Rose <gvrose8192 at gmail.com>
> Date:   Tue Dec 10 14:16:41 2019 -0800
>
>      compat: Remove flex_array code
>
> I get a lot of compile warnings and failures on Ubuntu 18.04:
>
>    CC [M]  /home/dahern/oss/ovs.git/datapath/linux/conntrack.o
> /home/dahern/oss/ovs.git/datapath/linux/conntrack.c: In function
> 'ovs_ct_nat_execute':
> /home/dahern/oss/ovs.git/datapath/linux/conntrack.c:831:13: warning:
> this statement may fall through [-Wimplicit-fallthrough=]
>     } else if (IS_ENABLED(CONFIG_NF_NAT_IPV6) &&
>               ^
> /home/dahern/oss/ovs.git/datapath/linux/conntrack.c:849:2: note: here
>    case IP_CT_NEW:
>    ^~~~

This just needs the fall through comment fixed if I am not mistaken.

>
> ...
>
>
> In file included from ../include/uapi/linux/posix_types.h:5:0,
>                   from ../include/uapi/linux/types.h:14,
>                   from ../include/linux/types.h:6,
>                   from
> /home/dahern/oss/ovs.git/datapath/linux/compat/include/linux/types.h:4,
>                   from ../include/linux/thread_info.h:11,
>                   from ../arch/x86/include/asm/elf.h:8,
>                   from ../include/linux/elf.h:5,
>                   from ../include/linux/elfnote.h:62,
>                   from ../include/linux/build-salt.h:4,
>                   from
> /home/dahern/oss/ovs.git/datapath/linux/openvswitch.mod.c:1:
> /home/dahern/oss/ovs.git/datapath/linux/compat/include/linux/stddef.h:10:2:
> error: redeclaration of enumerator 'false'
>    false   = 0,
>    ^~~~~
>
> Lots more like this for redinitions.

Right, those are the modpost errors caused by commit 9b9a3f2
'kbuild: split final module linking out into Makefile.modfinal'

- Greg


More information about the dev mailing list