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, 12 Dec 2007 14:21:46 -0800
From:	Greg KH <greg@...ah.com>
To:	"H. Peter Anvin" <hpa@...or.com>
Cc:	"Huang, Ying" <ying.huang@...el.com>, akpm@...ux-foundation.org,
	Thomas Gleixner <tglx@...utronix.de>,
	Ingo Molnar <mingo@...hat.com>, Andi Kleen <ak@...e.de>,
	"Eric W. Biederman" <ebiederm@...ssion.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH -mm -v2] x86 boot : export boot_params via sysfs

On Wed, Dec 12, 2007 at 11:05:45AM -0800, H. Peter Anvin wrote:
> Greg KH wrote:
>>> This is a binary structure defined by protocol;
>> What protocol?  Is this a "standard" documented somewhere?
>
> Yes, see Documentation/i386/* (although some of it is documented by 
> reference to include/asm-x86/boot_params.h).

Ah, so the structure has changed over the years, making this not so much
a "firmware" field as originally thought :)

>>> in that way it's not significantly different from something passed
>>> from the firmware (in fact, it might very well *be* passed from the
>>> firmware.)  We have in the past found platform bugs by looking at the
>>> contents of the whole structure, e.g.  to find that part of it has
>>> been inappropriately clobbered.
>> For debugging things, then just export it through debugfs.
>
> Fair enough, however...
>
>>> It is also in the form needed by e.g. kexec to operate.
>> Does kexec need this today to work properly?  Or is this something new?
>
> I believe kexec currently tries to reconstitute it from what data is 
> available to it.  This is incomplete, though, and has been flagged as a 
> problem for kexec.

Can't kexec get this from within the kernel itself when it is running?
It doesn't need to get this from userspace, does it?

>> What userspace program is going to know the exact data format of this
>> blob, and where is it going to know that format from?  The kernel header
>> files in sanitized form?  Or something else?
>
> It can pick it up from <asm/boot_params.h> (which is now userspace-safe); 
> or it can decode it itself.  Programs like kexec can pass through most of 
> the data without examining it, this is the main reason for having it as a 
> blob.

I just don't want kernel structures exported in binary fashions in
sysfs.  If there are specific portions that kexec currently can't figure
out, why not just export those fields?

And, by exporting the different fields (yeah, lots of files, no big
deal), you can handle the change in the structure over time much easier
than trying to "know" the layout of the binary blob.

thanks,

greg k-h
--
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