linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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
> 

  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).