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: <851fc09e0708220723v5fcb2fc5n4993c6f859c28b83@mail.gmail.com>
Date:	Wed, 22 Aug 2007 22:23:27 +0800
From:	"huang ying" <huang.ying.caritas@...il.com>
To:	"Andi Kleen" <ak@...e.de>
Cc:	"Yinghai Lu" <yhlu.kernel@...il.com>,
	"H. Peter Anvin" <hpa@...or.com>,
	"Huang, Ying" <ying.huang@...el.com>,
	"Andrew Morton" <akpm@...ux-foundation.org>,
	"Eric W. Biederman" <ebiederm@...ssion.com>,
	"Chandramouli Narayanan" <mouli@...ux.intel.com>,
	linux-kernel@...r.kernel.org, "Aaron Durbin" <adurbin@...gle.com>
Subject: Re: [PATCH 0/3] x86_64 EFI runtime service support

On 8/22/07, Andi Kleen <ak@...e.de> wrote:
> The short term fix is probably to just add a version number to
> the zero page and make sure new changes only add stuff to the
> end and the kernel has reasonable compat code for old versions.
>
> Then LinuxBIOS would need to be changed to supply that version number.
>
> Perhaps it could also include a checksum just to detect old BIOS
> that don't supply a version number.
>
> Long term I'm not sure. Adding LinuxBIOS specific tables also doesn't
> sound very attractive.

My proposal: Use Peter proposed "linked list of struct setup_data"
style boot protocol as long term goal.

To smooth the transforming process, the following back compatible
scheme can be taken:

1. Keep zero page as an informal external boot protocol, and marked it
as deprecated for external usage.
2. Add a magic number to standard boot protocol, which is set by
bootloader to indicate the new style or old style boot protocol is
used.
3. Add the pointer to "linked list of struct setup_data" to standard
boot protocol.
4. If kernel is booted with correct magic number, the kernel will
convert "linked list" to zero page, or use "linked list" directly. If
kernel is booted with incorrect magic number, the kernel will use the
"zero page" from bootloader or convert "zero page" to "linked list".

The current kexec/LinuxBIOS using "informal" zero page protocol can
boot the new kernel, because the "zero page" protocol is kept for
short term. New version of bootloader should use "linked list"
protocol instead of "zero page" protocol.

In the future, when all bootloaders use new protocol, the "zero page"
is made internal formally.

Any comment is welcome.

Best Regards,
Huang Ying
-
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