linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nicholas Piggin <npiggin@gmail.com>
To: Ian Campbell <ijc@hellion.org.uk>
Cc: Michal Marek <mmarek@suse.com>,
	Ben Hutchings <ben@decadent.org.uk>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Adam Borowski <kilobyte@angband.pl>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
	Debian kernel maintainers <debian-kernel@lists.debian.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	Arnd Bergmann <arnd@arndb.de>, Ingo Molnar <mingo@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Dodji Seketeli <dodji@seketeli.org>
Subject: Re: [PATCH] x86/kbuild: enable modversions for symbols exported from asm
Date: Sat, 10 Dec 2016 02:15:29 +1000	[thread overview]
Message-ID: <20161210021529.4a6e684f@roar.ozlabs.ibm.com> (raw)
In-Reply-To: <1481296893.4509.135.camel@hellion.org.uk>

On Fri, 09 Dec 2016 15:21:33 +0000
Ian Campbell <ijc@hellion.org.uk> wrote:

> On Fri, 2016-12-09 at 13:33 +1000, Nicholas Piggin wrote:
> > 
> > Well I simply tested the outcome. If you have:
> > 
> > struct blah {
> >   int x;
> > };
> > int foo(struct blah *blah)
> > {
> >   return blah->x;
> > }
> > EXPORT(foo);
> > 
> > $ nm vmlinux | grep __crc_foo
> > 00000000a0cf13a0 A __crc_foo
> > 
> > Now change to
> > 
> > struct blah {
> >   int y;
> >   int x;
> > };
> > 
> > $ nm vmlinux | grep __crc_foo
> > 00000000a0cf13a0 A __crc_foo
> > 
> > It just doesn't catch these things.  
> 
> I found the same when I just added your snippet to init/main.c.
> 
> _But_ when I moved the struct into include/types.h (which happened to
> be included by init/main.c) then, with just x in the struct:
> 
>     $ make -s init/main.{o,symtypes} && grep -E foo\|blah init/main.symtypes && nm init/main.o  | grep __crc_foo
>     s#blah struct blah { int x ; } 
>     foo int foo ( s#blah * ) 
>     000000000cd0312e A __crc_foo
> 
> but adding y:
> 
>     $ make -s init/main.{o,symtypes} && grep -E foo\|blah init/main.symtypes && nm init/main.o  | grep __crc_foo
>     s#blah struct blah { int x ; int y ; } 
>     foo int foo ( s#blah * ) 
>     00000000eda220c6 A __crc_foo
> 
> So it does catch things in that case.
> 
> With struct blah inline in main.c it was:
> 
>     $ make -s init/main.{o,symtypes} && grep -E foo\|blah init/main.symtypes && nm init/main.o  | grep __crc_foo
>     s#blah struct blah { UNKNOWN } 
>     foo int foo ( s#blah * ) 
>     00000000a0cf13a0 A __crc_foo
> 
> So I suppose it only cares about structs which are in headers, which I
> guess makes sense. I think it is working in at least one of the
> important cases.

Aha thanks, well that's my mistake. Clever little bugger, isn't it? Okay
it's not so useless as I first thought!

That said, a dwarf based checker tool should be able to do as good a job
(maybe a bit better because report is very informative and it may pick up
compiler alignments or padding options). So I still think it's worth
looking at those if we can remove modversions.

Thanks,
Nick

  parent reply	other threads:[~2016-12-09 16:15 UTC|newest]

Thread overview: 167+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20161123205338.GA12050@angband.pl>
     [not found] ` <20161123210256.31501-1-kilobyte@angband.pl>
     [not found]   ` <20161124044028.GA12704@gmail.com>
2016-11-24  5:20     ` [PATCH] x86/kbuild: enable modversions for symbols exported from asm Nicholas Piggin
2016-11-24  6:00       ` Ingo Molnar
2016-11-24  7:20         ` Nicholas Piggin
2016-11-24  7:36           ` Greg Kroah-Hartman
2016-11-24  7:36             ` Greg Kroah-Hartman
2016-11-24  7:53             ` Nicholas Piggin
2016-11-24  7:53               ` Nicholas Piggin
2016-11-24  9:32               ` Michal Marek
2016-11-24  9:32                 ` Michal Marek
2016-11-24 10:03                 ` Nicholas Piggin
2016-11-24 10:03                   ` Nicholas Piggin
2016-11-24 10:51                   ` Michal Marek
2016-11-24 10:51                     ` Michal Marek
2016-11-24  9:38               ` Arnd Bergmann
2016-11-24  9:38                 ` Arnd Bergmann
2016-11-24 10:01                 ` Nicholas Piggin
2016-11-24 10:01                   ` Nicholas Piggin
2016-11-24  9:56               ` Greg Kroah-Hartman
2016-11-24 10:31                 ` Nicholas Piggin
2016-11-24 10:31                   ` Nicholas Piggin
2016-11-24 15:24                   ` Greg Kroah-Hartman
2016-11-25  0:40                     ` Nicholas Piggin
2016-11-25 18:00                       ` Linus Torvalds
2016-11-25 18:00                         ` Linus Torvalds
2016-11-26  0:37                         ` Nicholas Piggin
2016-11-29  1:15                         ` Ben Hutchings
2016-11-29  1:15                           ` Ben Hutchings
2016-11-29  2:31                           ` Nicholas Piggin
2016-11-29  9:14                             ` Michal Marek
2016-11-29  9:14                               ` Michal Marek
2016-11-29  4:08                           ` Linus Torvalds
2016-11-29  4:08                             ` Linus Torvalds
2016-11-29 13:19                             ` Adam Borowski
2016-11-29 13:19                               ` Adam Borowski
2016-11-29 13:29                               ` Ingo Molnar
2016-11-29 14:24                                 ` Adam Borowski
2016-11-29 13:51                               ` Adam Borowski
2016-11-29 13:51                                 ` Adam Borowski
2016-11-29 15:27                                 ` Linus Torvalds
2016-11-29 16:03                                   ` Michal Marek
2016-11-29 16:17                                     ` Linus Torvalds
2016-11-29 19:57                                       ` Ben Hutchings
2016-11-29 19:57                                         ` Ben Hutchings
2016-11-29 20:35                                         ` Linus Torvalds
2016-11-30 18:18                                           ` Nicholas Piggin
2016-11-30 18:40                                             ` Linus Torvalds
2016-11-30 18:40                                               ` Linus Torvalds
2016-11-30 21:33                                               ` Ben Hutchings
2016-11-30 21:33                                                 ` Ben Hutchings
2016-12-01  1:55                                                 ` Nicholas Piggin
2016-12-01  2:35                                                   ` Ben Hutchings
2016-12-01  2:35                                                     ` Ben Hutchings
2016-12-01  3:39                                                     ` Nicholas Piggin
2016-12-01  3:39                                                       ` Nicholas Piggin
2016-12-01 16:12                                                       ` Michal Marek
2016-12-02 14:36                                                         ` Hannes Frederic Sowa
2016-12-02 14:36                                                           ` Hannes Frederic Sowa
2016-12-09  3:33                                                         ` Nicholas Piggin
2016-12-09 15:21                                                           ` Ian Campbell
2016-12-09 15:21                                                             ` Ian Campbell
2016-12-09 16:15                                                             ` Nicholas Piggin [this message]
2016-12-09 16:15                                                               ` Nicholas Piggin
2016-12-09 22:46                                                               ` Dodji Seketeli
2016-12-10 12:41                                                                 ` Greg Kroah-Hartman
2016-12-10 12:41                                                                   ` Greg Kroah-Hartman
2016-12-12  3:50                                                                   ` Nicholas Piggin
2016-12-12  9:08                                                                   ` Ian Campbell
2016-12-12  9:08                                                                     ` Ian Campbell
2016-12-14 17:59                                                                   ` Don Zickus
2016-12-13  1:07                                                                 ` Stanislav Kozina
2016-12-13  1:07                                                                   ` Stanislav Kozina
2016-12-13 22:51                                                                 ` Michal Marek
2016-12-13 22:51                                                                   ` Michal Marek
2016-12-14  8:58                                                                   ` Dodji Seketeli
2016-12-14  8:58                                                                     ` Dodji Seketeli
2016-12-14  9:15                                                                     ` Michal Marek
2016-12-14  9:15                                                                       ` Michal Marek
2016-12-14  9:36                                                                       ` Dodji Seketeli
2016-12-14  9:36                                                                         ` Dodji Seketeli
2016-12-14  9:44                                                                         ` Michal Marek
2016-12-14 10:02                                                                           ` Dodji Seketeli
2016-12-14 10:02                                                                             ` Dodji Seketeli
2016-12-14 10:15                                                                             ` Michal Marek
2016-12-14 10:15                                                                               ` Michal Marek
2016-12-14  9:56                                                                         ` Dodji Seketeli
2016-12-14  9:37                                                                       ` Michal Marek
2016-12-14  9:37                                                                         ` Michal Marek
2016-12-01  4:13                                               ` Don Zickus
2016-12-01  4:13                                                 ` Don Zickus
2016-12-01  4:32                                                 ` Nicholas Piggin
2016-12-01  4:32                                                   ` Nicholas Piggin
2016-12-01 15:20                                                   ` Don Zickus
2016-12-01 15:20                                                     ` Don Zickus
2016-12-01 15:26                                                     ` Christoph Hellwig
2016-12-01 15:40                                                       ` Don Zickus
2016-12-01 16:06                                                         ` Greg Kroah-Hartman
2016-12-01 18:42                                                           ` Don Zickus
2016-12-01 18:42                                                             ` Don Zickus
2016-12-09  3:50                                                     ` Nicholas Piggin
2016-12-09  3:50                                                       ` Nicholas Piggin
2016-12-09  7:55                                                       ` Stanislav Kozina
2016-12-09  7:55                                                         ` Stanislav Kozina
2016-12-09  8:14                                                         ` Nicholas Piggin
2016-12-09  8:14                                                           ` Nicholas Piggin
2016-12-09 14:36                                                           ` Stanislav Kozina
2016-12-09 14:36                                                             ` Stanislav Kozina
2016-12-09 15:56                                                             ` Nicholas Piggin
2016-12-09 15:56                                                               ` Nicholas Piggin
2016-12-09 16:03                                                               ` Greg Kroah-Hartman
2016-12-12  9:48                                                                 ` Stanislav Kozina
2016-12-12  9:48                                                                   ` Stanislav Kozina
2016-12-13  7:25                                                                   ` Nicholas Piggin
2016-12-14 14:04                                                                 ` Hannes Frederic Sowa
2016-12-14 14:04                                                                   ` Hannes Frederic Sowa
2016-12-15  2:06                                                                   ` Nicholas Piggin
2016-12-15 11:19                                                                     ` Hannes Frederic Sowa
2016-12-15 12:03                                                                       ` Nicholas Piggin
2016-12-15 12:03                                                                         ` Nicholas Piggin
2016-12-15 13:15                                                                         ` Hannes Frederic Sowa
2016-12-15 14:15                                                                           ` Nicholas Piggin
2016-12-15 14:15                                                                             ` Nicholas Piggin
2016-12-15 15:17                                                                             ` Hannes Frederic Sowa
2016-12-15 15:17                                                                               ` Hannes Frederic Sowa
2016-12-15 13:35                                                                         ` Stanislav Kozina
2016-12-15 13:35                                                                           ` Stanislav Kozina
2016-12-09 16:16                                                       ` Don Zickus
2016-12-01 10:48                                                 ` Stanislav Kozina
2016-12-01 11:09                                                   ` Nicholas Piggin
2016-12-01 11:09                                                     ` Nicholas Piggin
2016-12-01 11:33                                                     ` Stanislav Kozina
2016-12-01 11:33                                                       ` Stanislav Kozina
2016-12-01 12:39                                                       ` Nicholas Piggin
2016-12-01 12:39                                                         ` Nicholas Piggin
2016-12-01 15:19                                                     ` Dodji Seketeli
2016-12-01 15:19                                                       ` Dodji Seketeli
2016-12-01 16:14                                                 ` Michal Marek
2016-12-01 16:14                                                   ` Michal Marek
2016-11-29 17:05                                   ` Adam Borowski
2016-11-29 17:05                                     ` Adam Borowski
2016-11-29 17:10                                     ` Linus Torvalds
2016-11-29 17:14                                       ` Linus Torvalds
2016-12-01 13:58                                         ` Arnd Bergmann
2016-12-01 13:58                                           ` Arnd Bergmann
2016-12-01 16:21                                           ` Michal Marek
2016-12-01 16:21                                             ` Michal Marek
2016-12-01 18:26                                           ` Linus Torvalds
2016-12-01 18:26                                             ` Linus Torvalds
2016-12-02 10:55                                             ` Arnd Bergmann
2016-12-02 12:40                                               ` [RFC, PATCH, v3.9] default exported asm symbols to zero Arnd Bergmann
2016-12-02 12:40                                                 ` Arnd Bergmann
2016-12-02 12:59                                                 ` Geert Uytterhoeven
2016-12-02 12:59                                                   ` Geert Uytterhoeven
2016-12-02 14:51                                                   ` Arnd Bergmann
2016-12-02 14:51                                                     ` Arnd Bergmann
2016-12-02 15:35                                                 ` Adam Borowski
2016-12-02 15:35                                                   ` Adam Borowski
2016-12-03  4:36                                                 ` Ben Hutchings
2016-12-03  4:36                                                   ` Ben Hutchings
2016-12-03 10:43                                                   ` Arnd Bergmann
2016-12-03 10:43                                                     ` Arnd Bergmann
2016-12-02 17:04                                               ` [PATCH] x86/kbuild: enable modversions for symbols exported from asm Linus Torvalds
2016-12-02 17:04                                                 ` Linus Torvalds
2016-12-04  7:44                                               ` Alan Modra
2016-12-04  7:44                                                 ` Alan Modra
2016-12-04 20:44                                                 ` Linus Torvalds
2016-12-04 20:44                                                   ` Linus Torvalds
2016-11-29 21:23                                       ` Michal Marek

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=20161210021529.4a6e684f@roar.ozlabs.ibm.com \
    --to=npiggin@gmail.com \
    --cc=arnd@arndb.de \
    --cc=ben@decadent.org.uk \
    --cc=debian-kernel@lists.debian.org \
    --cc=dodji@seketeli.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=ijc@hellion.org.uk \
    --cc=kilobyte@angband.pl \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mmarek@suse.com \
    --cc=torvalds@linux-foundation.org \
    /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).