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]
Date:	Wed, 3 Sep 2008 10:13:26 +0200
From:	Andreas Gruenbacher <agruen@...e.de>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	linux-kernel@...r.kernel.org, Sam Ravnborg <sam@...nborg.org>
Subject: Re: [genksyms patch 3/4] Track symbol checksum changes

On Wednesday 03 September 2008 07:02:31 Andrew Morton wrote:
> On Mon, 21 Jul 2008 04:28:26 +0200 Andreas Gruenbacher <agruen@...e.de> 
wrote:
> > Sometimes it is preferable to avoid changes of exported symbol checksums
> > (to avoid breaking externally provided modules).  When a checksum change
> > occurs, it can be hard to figure out what caused this change: underlying
> > types may have changed, or additional type information may simply have
> > become available at the point where a symbol is exported.
> >
> > Add a new --reference option to genksyms which allows it to report why
> > checksums change, based on the type information dumps it creates with
> > the --dump-types flag.  Genksyms will read in such a dump from a previous
> > run, and report which symbols have changed (and why).
> >
> > The behavior can be controlled for an entire build as follows: If
> > KBUILD_SYMTYPES is set, genksyms uses --dump-types to produce *.symtypes
> > dump files.  If any *.symref files exist, those will be used as the
> > reference to check against.  If KBUILD_PRESERVE is set, checksum changes
> > will fail the build.
>
> This breaks `make M=...'
>
> With i386 allmodconfig,
>
>
> akpm2:/usr/src/25> make M=drivers/rtc
>
>   WARNING: Symbol version dump /usr/src/devel/Module.symvers
>            is missing; modules will have no dependencies and modversions.
>
>   LD      drivers/rtc/built-in.o
>   CC [M]  drivers/rtc/rtc-lib.o
> scripts/genksyms/genksyms: invalid option -- r
> Usage:
> genksyms [-adDTwqhV] > /path/to/.tmp_obj.ver
>
>   -a, --arch            Select architecture
>   -d, --debug           Increment the debug level (repeatable)
>   -D, --dump            Dump expanded symbol defs (for debugging only)
>   -T, --dump-types file Dump expanded types into file (for debugging only)
>   -w, --warnings        Enable warnings
>   -q, --quiet           Disable warnings (default)
>   -h, --help            Print this message
>   -V, --version         Print the release version
> make[1]: *** [drivers/rtc/rtc-lib.o] Error 1
> make: *** [_module_drivers/rtc] Error 2

The usage information above is from an unpatched genksyms; a "make scripts" is 
needed. On a clean tree, this works for me:

	make allmodconfig prepare scripts
	make M=drivers/rtc

When compiling out-of-tree modules with M=, the O= tree is not rebuilt 
automatically; it may even be read-only (as when building an external module 
as a user using the distro kernel packages).

Thanks,
Andreas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ