lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAK7LNAQoOo_BEw1hKVX-NDHHTGQtiuKadDG7gMMq5MKK+ZNq6g@mail.gmail.com>
Date:   Fri, 5 Mar 2021 23:33:10 +0900
From:   Masahiro Yamada <masahiroy@...nel.org>
To:     Vladimir Murzin <vladimir.murzin@....com>
Cc:     Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Kbuild mailing list <linux-kbuild@...r.kernel.org>,
        Michal Marek <michal.lkml@...kovi.net>,
        Arnd Bergmann <arnd@...db.de>
Subject: Re: Possible regression due to 269a535ca931 "modpost: generate
 vmlinux.symvers and reuse it for the second modpost"

On Fri, Mar 5, 2021 at 11:15 PM Vladimir Murzin <vladimir.murzin@....com> wrote:
>
> On 3/4/21 5:24 PM, Masahiro Yamada wrote:
> > On Fri, Mar 5, 2021 at 1:21 AM Vladimir Murzin <vladimir.murzin@....com> wrote:
> > [  snip long description ]
> >
> >>
> >> Does that make sense? What I'm missing?
> >>
> >> P.S.
> >> I've also checked v5.12-rc1 and see the same symptoms
> >
> > Since you ran "make allnoconfig",
> > the module feature was disabled.
> > (CONFIG_MODULES=n)
> >
> > That is why you cannot build external modules.
>
> That's a good point, yet was not reason for my issue :) It forced me to try with ARCH=arm
> (and update toolchain)
>
> $ CROSS_COMPILE=arm-none-linux-gnueabihf- make ARCH=arm mrproper
> $ CROSS_COMPILE=arm-none-linux-gnueabihf- make ARCH=arm vexpress_defconfig
> $ grep -w CONFIG_MODULES .config
> CONFIG_MODULES=y
> $ grep "=m" .config
> $ echo $?
> 1
> $ CROSS_COMPILE=arm-none-linux-gnueabihf- make ARCH=arm Image -j5 > /dev/null
> $ ls *.symvers
> vmlinux.symvers
> $ CROSS_COMPILE=arm-none-linux-gnueabihf- make ARCH=arm Image -j5 modules > /dev/null
> $ ls *.symvers
> Module.symvers  vmlinux.symvers
>
> So, `make modules` seems to become be mandatory. I'll go and update my scripts...
>

Without 'make modules', still you can build
external modules, but you will see a warning.

WARNING: Symbol version dump Module.symver is missing.
         Modules may not have dependencies or modversions.


Before 269a535ca931, if you did not run 'make modules',
Module.symvers contained symbols only from vmlinux, but
not from modules.
It was working for you just because your external modules
did not use symbols of in-tree modules.
But, it is fragile, and it may break suddenly if the
upstream code moves some config options from y to m.
So, building both vmlinux and modules
is the right thing.


-- 
Best Regards
Masahiro Yamada

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ