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  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, 18 Jun 2014 17:35:08 -0400 (EDT)
From:	Nicolas Pitre <nicolas.pitre@...aro.org>
To:	Kevin Hilman <khilman@...aro.org>
cc:	Stephen Boyd <sboyd@...eaurora.org>,
	Taras Kondratiuk <taras.kondratiuk@...aro.org>,
	Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>,
	Russell King <linux@....linux.org.uk>,
	Jason Cooper <jason@...edaemon.net>,
	Victor Kamensky <victor.kamensky@...aro.org>,
	LKML <linux-kernel@...r.kernel.org>,
	Ben Dooks <ben.dooks@...ethink.co.uk>,
	Olof Johansson <olof@...om.net>,
	Linaro Networking <linaro-networking@...aro.org>,
	linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] ARM: zImage: ensure header in LE format for BE8
 kernels

On Wed, 18 Jun 2014, Kevin Hilman wrote:

> On Wed, Jun 18, 2014 at 11:22 AM, Stephen Boyd <sboyd@...eaurora.org> wrote:
> > On 06/18/14 11:21, Kevin Hilman wrote:
> >> On Wed, Jun 18, 2014 at 11:14 AM, Stephen Boyd <sboyd@...eaurora.org> wrote:
> >>> On 06/18/14 10:55, Kevin Hilman wrote:
> >>>> All of that to say, with this patch applied, I need a new (and
> >>>> reliable) way to determine the endianness of a kernel just by looking
> >>>> at the zImage.  Recommendations welcome.
> >>> Assuming that you have the .config configured to be built into the
> >>> kernel you could use extract-ikconfig
> >>>
> >>> $ ./scripts/extract-ikconfig zImage | grep CONFIG_CPU_ENDIAN_BE8
> >> Unfortunately, I can't rely on having that built in since I want the
> >> boot tools to be as generic as possible.
> >>
> >>
> >
> > Yeah ok. Perhaps you can look for the 'setend be' instruction right
> > after the magic values instead.
> 
> Yeah, that works, as long as I can always assume that instruction will
> be at the same offset (currently at 0x30).

Well... then you also have to test for the Thumb2 variant. And that 
forces this instruction to always be there.

If we're to "officialize" this, I'd much prefer we add another magic 
value like this:

diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index c95feab6ce..413fd94b53 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -128,6 +128,7 @@ start:
 		.word	_magic_sig	@ Magic numbers to help the loader
 		.word	_magic_start	@ absolute load/run zImage address
 		.word	_magic_end	@ zImage end address
+		.word	0x04030201	@ endianness flag
 
  THUMB(		.thumb			)
 1:




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