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:	Tue, 29 Jan 2008 20:38:32 +0000
From:	Ian Campbell <ijc@...lion.org.uk>
To:	"H. Peter Anvin" <hpa@...or.com>
Cc:	Jeremy Fitzhardinge <jeremy@...p.org>,
	linux-kernel@...r.kernel.org,
	"Eric W. Biederman" <ebiederm@...ssion.com>
Subject: Re: PATCH/RFC: bzImage payload as compressed ELF file.


On Tue, 2008-01-29 at 10:34 -0800, H. Peter Anvin wrote:
> Jeremy Fitzhardinge wrote:
> > H. Peter Anvin wrote:
> >> It's also easy enough to either use objdump -h or nm to extract info 
> >> from vmlinux; or for some of the simpler stuff, just parse the ELF 
> >> directly (perhaps using libelf).
> >>
> >> There is also the -R option to ld, which imports symbols from one 
> >> executable into another. 
> > 
> > Yes, I used -R, though it was necessary to generate a copy of vmlinux 
> > with a filtered symbol list to prevent collisions.  But I'm not sure any 
> > of this is necessary with Ian's approach.
> > 
> 
> Probably isn't.  He just need the start and possibly length of the 
> payload section, which should be objdump -h or equivalently reading the 
> ELF section table.

I'm currently using "objcopy --extract-symbol -w -N \* -K input_data" to
create a .o with just the symbol I'm interested in and using -R on that.
There's also an option to add a prefix to all symbols which might be
useful.

I finessed the length issue slightly since it happens that the word
before the payload is the payload's length. I'm mulling a variety of
options:
      * declare it compression scheme dependant. At least for gzip it
        knows when it has reached the end.
      * codify the length followed by data thing we happen to have now
      * add a length field to the header, using another 4 bytes (is
        there any pressure on the size of the header?).

I'd probably go with the later unless we are pressed for space in the
header.

Ian.
-- 
Ian Campbell

Man who falls in vat of molten optical glass makes spectacle of self.

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