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]
Date:	Wed, 3 Mar 2010 19:49:24 -0800 (PST)
From:	Linus Torvalds <torvalds@...ux-foundation.org>
To:	Phillip Lougher <phillip@...gher.demon.co.uk>
cc:	Linux Kernel Development <linux-kernel@...r.kernel.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Alain Knaff <alain@...ff.lu>, Peter Anvin <hpa@...or.com>
Subject: Re: [GIT PULL] Squashfs updates for 2.6.34



On Thu, 4 Mar 2010, Phillip Lougher wrote:
> 
> In my defence with these patches I was trying for the best solution while
> touching as little of the mess as possible.  As that's not acceptable, I'll
> go away and try and fix some of the mess, before trying for another merge.

I know, I understand. The whole thing is messy as hell, I just don't want 
that mess to spread even more.

Let's ask Peter for help. He's been involved with that whole crazy init 
loader decompressor thing.

Peter, see the thread and my unhappiness on lkml (if you don't have any 
other archives, see for example http://lkml.org/lkml/2010/3/3/275).

That whole crazy "let's hide a crappy malloc implementation in a header 
file, and then make things depend on '#ifdef STATIC'" just makes me puke. 
And I'm sure Phillip has been gouging his eyes out too, while he was 
spreading it out into those _new_ crazy header file fragments for each 
decompressor.

So rather than have those crazy header file tricks, can we just add a 
kmalloc() _library_ file for the crazy bootloader crud, so that the 
bootloader could just share header files with the regular kernel, and not 
do that crazy thing?

It's insane having that malloc() implementation, and those STATIC games, 
in a header file, and the games we play with "error()" sometimes being a 
function pointer and sometimes being a function. Crazy, crazy.

So Phillip split up these things:

	#ifdef STATIC
	/* Code active when included from pre-boot environment: */
	#define INIT
	#else
	/* Compile for initramfs/initrd code only */
	#define INIT __init
	static void(*error)(char *m);
	#endif

and I refuse to see three new copies of that disgusting thing (bunzip, 
inflate, lzma). So I'd really _really_ want for the pre-boot environment 
to have that same __init declaration, and the _same_ indirect error() 
handler model, so that we don't have this kind of thing spreading.

It was ugly enough in <compress/mm.h> (which really should be nuked from 
orbit - it's the only way to be sure), but when I see it spreading, I go 
into full zombie-attack mode, and want to start up the chainsaw and run 
around naked.

		Linus
--
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