[ovs-dev] compiling on v5.4 kernel

Gregory Rose gvrose8192 at gmail.com
Mon Jan 27 18:32:13 UTC 2020


top posting for convenience sake...

David and Ben,

I've found a fix for this and am preparing a patch for the Linux kernel 
list.  We'll see what the
Linux maintainers think, but it's pretty basic and I can't see why they 
would object.  But ya
never know.

Thanks,

- Greg

On 12/20/2019 1:13 PM, Gregory Rose wrote:
>
> 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