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: <479F6845.1070902@goop.org>
Date:	Tue, 29 Jan 2008 09:54:13 -0800
From:	Jeremy Fitzhardinge <jeremy@...p.org>
To:	Ian Campbell <ijc@...lion.org.uk>
CC:	"H. Peter Anvin" <hpa@...or.com>, linux-kernel@...r.kernel.org,
	"Eric W. Biederman" <ebiederm@...ssion.com>
Subject: Re: PATCH/RFC: bzImage payload as compressed ELF file.

Ian Campbell wrote:
> If you strip of setup_sects (+1?) from a bzImage, which I think is what
> you are referring above, then you end up with essentially
> arch/x86/boot/compressed/vmlinux (at address 0x100000 from one of the
> bzImage header fields) which can still be jumped to by a 32 bit
> bootloader. It will decompress and process the ELF bits correctly. I
> think this is where my patch differs from your previous version, you
> made the actual compressor portion an ELF file within the bzImage.
>   

Yes, that's right.  The changes to make it work were a fair bit more 
complex than your's.

> The thing which no longer works here is scanning the whole image looking
> for a gzip header just past setup_sects and extracting that expecting to
> find a raw binary because you will actually find an ELF file. I'm not
> sure that's an "interface" which could be expected to continue to work
> for all time anyway.
>   

Who does that?

> That's what I figured. There will be some build system pain to extract
> those offsets from boot/compressed/vmlinux and incorporate them into
> boot/bzImage but I'll figure something out.
>   

I solved that with some linker magic.  One of the things I did was get 
rid of tools/build and did everything in the linker.  And I worked out a 
trick where you can get the setup code to refer to vmlinux's symbols 
without actually linking it in (no, wait, was that to solve something 
else?).

In the xenbits repo, you can see a series of patches guarded with 
+pvboot, which was my patchset when I last worked on it. 
i386-cleanup-image-generation.patch is particularly interesting (though 
it could definitely do with being broken into smaller patches).  
(xen-paravirt-boot.patch was fun to get going too, though I don't think 
it will be useful overall.)


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