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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090411153933.GU26366@ZenIV.linux.org.uk>
Date:	Sat, 11 Apr 2009 16:39:33 +0100
From:	Al Viro <viro@...IV.linux.org.uk>
To:	Sam Ravnborg <sam@...nborg.org>
Cc:	Jike Song <albcamus@...il.com>,
	David Howells <dhowells@...hat.com>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	torvalds@...l.org, akpm@...ux-foundation.org,
	linux-am33-list@...hat.com, linux-kernel@...r.kernel.org
Subject: Re: [GIT PULL] MN10300: Move arch headers to arch dir

On Sat, Apr 11, 2009 at 09:55:49AM +0200, Sam Ravnborg wrote:
> > How about a single directory for *all* generated headers?  Only linux/version.h
> > has many places including it and even that can be dealt with for a moment with
> > linux/version.h consisting of #include <gen/version.h>.  The rest doesn't
> > need anything like that even for transition period - too few includes to care.
> 
> So you suggest: include/gen/

Yes.

> asm-offsets.h, mach-types.h and version.h is the ones with the highest count.
> And version.h is an exported header which we cannot move in our exported
> set of headers. Fortunately I have just checked in a patch so we can specify
> an alternative destination when exporting so this should deal with version.h.
> 
> asm-offsets.h and mach-types.h require a small helper file as you suggest,
> otherwise it would be a _huge_ patch.

OK...  I suspect that many asm-offsets.h users might end up killable, but
removal and replacement are not too different wrt patch size.

> We can later migrate more generated files to this location.
> (autoconf.h, config/* etc).

autoconf.h is *trivial* to move.  What we have is

Makefile:                   -include include/linux/autoconf.h
Makefile:       $(Q)test -e include/linux/autoconf.h -a -e $@ || (              \
Makefile:       echo "         include/linux/autoconf.h or $@ are missing.";    \
Makefile:                  include/linux/autoconf.h include/linux/version.h      \
arch/cris/arch-v32/kernel/head.S:#include <linux/autoconf.h>
arch/cris/kernel/asm-offsets.c:#include <linux/autoconf.h>
arch/cris/kernel/vmlinux.lds.S:#include <linux/autoconf.h>
arch/ia64/kvm/asm-offsets.c:#include <linux/autoconf.h>
drivers/accessibility/braille/braille_console.c:#include <linux/autoconf.h>
drivers/hid/hid-lg.h:#include <linux/autoconf.h>
drivers/platform/x86/compal-laptop.c:#include <linux/autoconf.h>
include/linux/mmdebug.h:#include <linux/autoconf.h>
scripts/basic/fixdep.c:         if (strrcmp(s, "include/linux/autoconf.h") &&
scripts/kconfig/confdata.c:             name = "include/linux/autoconf.h";
scripts/mkcompile_h:if [ -r $TARGET -a ! -O include/linux/autoconf.h ]; then

and direct includes should be removed anyway - we already have -include in
flags.  So it's 8 removals in one patch and 7 replacements in another (a
bit more, since there are comments to update).  bounds.h is even easier:

.gitignore:include/linux/bounds.h
Kbuild:bounds-file := include/linux/bounds.h
Makefile:                  include/linux/bounds.h include/asm*/asm-offsets.h     \
include/linux/mmzone.h:#include <linux/bounds.h>
include/linux/page-flags.h:#include <linux/bounds.h>

utsrelease.h is a bit heavier - 19 instances.  compile.h - 6 instances.
ia64 nr-irqs.h - 4 instances.  

I'm not sure about include/config, actually - it's also not that much, but
it might be better to merge separately.

Note, BTW, that include/gen kills include/asm and include2/ (on O= builds),
leaving us only with $(objtree)/source symlink and a couple of nonsense ones
(arch/{i386,x86_64}/boot/bzImage -> ../../x86/boot/bzImage; do we still need
them, anyway?)  IIRC, you wanted to get rid of symlinks...
--
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