From: Peter Wu <peter@lekensteyn.nl>
To: Nicholas Piggin <npiggin@gmail.com>
Cc: Vince Weaver <vincent.weaver@maine.edu>,
Michal Marek <mmarek@suse.com>, Al Viro <viro@zeniv.linux.org.uk>,
Oliver Hartkopp <socketcan@hartkopp.net>,
linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org,
linux-arch@vger.kernel.org, regressions@leemhuis.info
Subject: Re: 'kbuild' merge before 4.9-rc1 breaks build and boot
Date: Sun, 20 Nov 2016 19:26:23 +0100 [thread overview]
Message-ID: <20161120182623.GA1988@al> (raw)
In-Reply-To: <20161108123334.3df2dcc9@roar.ozlabs.ibm.com>
Hi Nicholas,
Current git master (v4.9-rc5-364-g77079b1) with the latest kbuild fixes
is still failing to load modules when built with CONFIG_MODVERSIONS=y on
x86_64 using GCC 6.2.1.
It can still be reproduced with make defconfig, then enabling
CONFIG_MODVERSIONS=y. The build output contains:
WARNING: "memcpy" [net/netfilter/nf_nat.ko] has no CRC!
WARNING: "memmove" [net/netfilter/nf_nat.ko] has no CRC!
WARNING: "_copy_to_user" [fs/efivarfs/efivarfs.ko] has no CRC!
WARNING: "memcpy" [fs/efivarfs/efivarfs.ko] has no CRC!
WARNING: "_copy_from_user" [fs/efivarfs/efivarfs.ko] has no CRC!
$ grep 000000 Module.symvers
0x00000000 phys_base vmlinux EXPORT_SYMBOL
0x00000000 memmove vmlinux EXPORT_SYMBOL
0x00000000 __copy_user_nocache vmlinux EXPORT_SYMBOL
0x00000000 __get_user_4 vmlinux EXPORT_SYMBOL
0x00000000 __put_user_4 vmlinux EXPORT_SYMBOL
0x00000000 __memcpy vmlinux EXPORT_SYMBOL
0x00000000 memset vmlinux EXPORT_SYMBOL
0x00000000 __sw_hweight64 vmlinux EXPORT_SYMBOL
0x00000000 __sw_hweight32 vmlinux EXPORT_SYMBOL
0x00000000 memcpy_mcsafe_unrolled vmlinux EXPORT_SYMBOL_GPL
0x00000000 memcpy vmlinux EXPORT_SYMBOL
0x00000000 copy_user_enhanced_fast_string vmlinux EXPORT_SYMBOL
0x00000000 clear_page vmlinux EXPORT_SYMBOL
0x00000000 __put_user_2 vmlinux EXPORT_SYMBOL
0x00000000 __get_user_2 vmlinux EXPORT_SYMBOL
0x00000000 copy_page vmlinux EXPORT_SYMBOL
0x00000000 copy_user_generic_string vmlinux EXPORT_SYMBOL
0x00000000 _copy_to_user vmlinux EXPORT_SYMBOL
0x00000000 __memmove vmlinux EXPORT_SYMBOL
0x00000000 empty_zero_page vmlinux EXPORT_SYMBOL
0x00000000 __get_user_8 vmlinux EXPORT_SYMBOL
0x00000000 __put_user_8 vmlinux EXPORT_SYMBOL
0x00000000 _copy_from_user vmlinux EXPORT_SYMBOL
0x00000000 native_load_gs_index vmlinux EXPORT_SYMBOL
0x00000000 __memset vmlinux EXPORT_SYMBOL
0x00000000 __put_user_1 vmlinux EXPORT_SYMBOL
0x00000000 __get_user_1 vmlinux EXPORT_SYMBOL
0x00000000 copy_user_generic_unrolled vmlinux EXPORT_SYMBOL
Kind regards,
Peter
On Tue, Nov 08, 2016 at 12:33:34PM +1100, Nicholas Piggin wrote:
> On Mon, 7 Nov 2016 22:39:07 +0100
> Peter Wu <peter@lekensteyn.nl> wrote:
>
> > On Mon, Nov 07, 2016 at 02:10:12PM -0500, Vince Weaver wrote:
> > > On Thu, 27 Oct 2016, Peter Wu wrote:
> > >
> > > > I can confirm Olivers issue, the current mainline kernel fails to boot
> > > > on kernels with CONFIG_MODVERSIONS=y. Bisection points to:
> > > >
> > > > commit 784d5699eddc55878627da20d3fe0c8542e2f1a2
> > > > Author: Al Viro <viro@zeniv.linux.org.uk>
> > > > Date: Mon Jan 11 11:04:34 2016 -0500
> > > > > WARNING: "memset" [sound/usb/snd-usbmidi-lib.ko] has no CRC!
> > > > > WARNING: "__fentry__" [sound/usb/snd-usbmidi-lib.ko] has no CRC!
> > > > > WARNING: "memcpy" [sound/usb/snd-usbmidi-lib.ko] has no CRC!
> > > > > WARNING: "__sw_hweight32" [sound/usb/snd-usbmidi-lib.ko] has no CRC!
> > >
> > > Has any progress been made with this problem?
> > >
> > > I'm also encountering it on my debian-unstable box on any kernel more
> > > recent than 4.9-rc1 (up to and including 4.9-rc4). I am glad someone
> > > managed to isolate it as I was unable to get a clean bisect.
> > >
> > > Vince
> >
> > The original kbuild issue went in via
> > merge commit 84d69848c97faab0c25aa2667b273404d2e2a64a which notes:
> >
> > - EXPORT_SYMBOL for asm source by Al Viro.
> >
> > This does bring a regression, because genksyms no longer generates
> > checksums for these symbols (CONFIG_MODVERSIONS). Nick Piggin is
> > working on a patch to fix this.
> >
> > Plus, we are talking about functions like strcpy(), which rarely
> > change prototypes.
> >
> > Adding Nicholas in the cc, hopefully he can give a status update.
>
> I think Michal has everything needed now for the kbuild bits. The arch
> specific patches can go via arch trees quite easily (there is no hard
> dependency either way). This is the kbuild bit:
>
> https://git.kernel.org/cgit/linux/kernel/git/mmarek/kbuild.git/commit/?h=rc-fixes&id=4efca4ed05cbdfd13ec3e8cb623fb77d6e4ab187
>
> And it also needs this incremental bit not in Michal's tree yet:
>
> ---
> scripts/Makefile.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 3e223c2..05c6bb4 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -332,7 +332,7 @@ cmd_gensymtypes_S = \
> (echo "\#include <linux/kernel.h>" ; \
> echo "\#include <asm/asm-prototypes.h>" ; \
> $(CPP) $(a_flags) $< | \
> - grep ^___EXPORT_SYMBOL | \
> + grep ___EXPORT_SYMBOL | \
> sed 's/___EXPORT_SYMBOL \([a-zA-Z0-9_]*\),.*/EXPORT_SYMBOL(\1);/' ) | \
> $(CPP) -D__GENKSYMS__ $(c_flags) -xc - | \
> $(GENKSYMS) $(if $(1), -T $(2)) \
> --
> 2.9.3
>
next prev parent reply other threads:[~2016-11-20 18:26 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-21 16:23 'kbuild' merge before 4.9-rc1 breaks build and boot Oliver Hartkopp
2016-10-24 5:21 ` Oliver Hartkopp
2016-10-27 15:42 ` Peter Wu
2016-11-07 19:10 ` Vince Weaver
2016-11-07 21:39 ` Peter Wu
2016-11-08 1:33 ` Nicholas Piggin
2016-11-20 18:26 ` Peter Wu [this message]
2016-11-21 5:49 ` Nicholas Piggin
2016-11-21 6:39 ` [PATCH resend] kbuild: provide include/asm/asm-prototypes.h for x86 Adam Borowski
2016-11-21 7:27 ` Nicholas Piggin
2016-11-21 8:00 ` Peter Wu
2016-11-21 14:52 ` [PATCH reworded] x86/kbuild: enable modversions for symbols exported from asm Adam Borowski
2016-11-21 15:04 ` Peter Wu
2016-11-21 16:49 ` Oliver Hartkopp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161120182623.GA1988@al \
--to=peter@lekensteyn.nl \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mmarek@suse.com \
--cc=npiggin@gmail.com \
--cc=regressions@leemhuis.info \
--cc=socketcan@hartkopp.net \
--cc=vincent.weaver@maine.edu \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).