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: <487D1925.50008@garzik.org>
Date:	Tue, 15 Jul 2008 17:39:49 -0400
From:	Jeff Garzik <jeff@...zik.org>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
CC:	Theodore Tso <tytso@....edu>, david@...g.hm,
	Arjan van de Ven <arjan@...radead.org>,
	Andrew Morton <akpm@...ux-foundation.org>,
	David Woodhouse <dwmw2@...radead.org>,
	alan@...rguk.ukuu.org.uk, linux-kernel@...r.kernel.org
Subject: Re: [GIT *] Allow request_firmware() to be satisfied from in-kernel,
 use it in more drivers.

Linus Torvalds wrote:
> 
> On Tue, 15 Jul 2008, Jeff Garzik wrote:
>> Kernel 2.6.26.  Older userland w/ initrd requirement, plus module w/
>> compiled-in firmware.
>>
>> Simply dropping 2.6.27 into that situation will produce an unbootable system,
>> since the firmware would not get copied into the initrd.
> 
> Umm. Neither would the module.

Sure it would.

Normal kernel build with modules, older userland (with older initrd).

'make modules_install && make install' will
	* install modules in /lib
	* install firmware in /lib	[2.6.27 only]
	* install kernel
	* update grub
	* rebuild initrd

Do this, under both 2.6.26 and 2.6.27.

2.6.26 will put a working driver into initrd.

2.6.27 will put a dead driver into initrd (because no firmware got 
copied into initrd image).


> Or are you rebuilding the module into the initrd? If so, why didn't you do 
> the firmware too and my "load directly from file" idea which is pretty 
> simple? IOW, what's the fundamnetal problem here?

The firmware doesn't get copied into the initrd, because it is an 
automated process (older mkinitrd) that is unaware of the need to copy 
the firmware into the initrd.

Do the same build process on 2.6.26 and 2.6.27, and you WILL get 
different results on older userlands, for the same simple reason:  the 
scripts do not know to copy the firmware when they copy the kernel module.


> But hey, if you _do_ the "link it together", go ahead. I don't see why 

Great!  I will :)


> it's so magically superior, but I wanted it for the compiled-in driver 
> case, so it's not fundamentally different from that either.

It's not magically superior, just a necessary tool that helps avoid a 
whole class of regressions, keeps us working on older userland, etc., etc.

	Jeff



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