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: <50A66726.8070804@zytor.com>
Date:	Fri, 16 Nov 2012 08:17:42 -0800
From:	"H. Peter Anvin" <hpa@...or.com>
To:	Yinghai Lu <yinghai@...nel.org>
CC:	Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...e.hu>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/9] x86, boot, 64bit: Add support for loading ramdisk
 and bzImage high

On 11/16/2012 12:53 AM, Yinghai Lu wrote:
> Now we have limit kdump reseved under 896M, because kexec has the limitation.
> and also bzImage need to stay under 4g.
> 
> To make kexec/kdump could use range above 4g, we need to make bzImage and
> ramdisk could be loaded above 4g.
> During booting bzImage will be unpacked on same postion and stay high.
> 
> The patches add field in boot header to
> 1. get info about ramdisk position info above 4g from bootloader/kexec
> 2. set code64_start_offset in header for bzImage and bootloader/kexec load
>    could check that to decide if need to put bzImage high.
> 
> This patches is tested with kexec tools with local changes, will send kexec
> tools change to kexec list later.
> 
> could be found at:
>         git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git for-x86-boot
> 
> and it is on top of for-x86-mm
> 

Mostly a good series, but the 0x208 is a showstopper.  0x200 is awkward
as an ABI (too big to just make a jump table, but potentially too small
to hold all the code needed.)  I have sent some other comments, too.

If 0x200 is too small, it isn't a huge problem; we can put a jump at
0x200 and continue the 32-bit code afterwards:


	/* 32-bit code */

	jmp	1f

	.org	0x200
	.code64
ENTRY(startup_64)
	jmp	start_64_real

	.code32
1:
	/* 32-bit code continues... */


It is annoying because it has to be placed by hand, but isn't actually a
problem.  The easy way to do this is probably to push verify_cpu.S into
the post-entry-point area.  The .code64/.code32 don't actually do
anything for a simple jmp, but are added for documentation.

How is collecting comments and ACKs for for-x86-mm coming?  I'd like to
do another review pass today and putting it in -tip if it is in better
shape.  Otherwise I suspect we'll be looking at 3.9, which is OK, of course.

	-hpa


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