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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 9 Dec 2013 13:59:48 -0800
From:	"H.J. Lu" <hjl.tools@...il.com>
To:	"H. Peter Anvin" <hpa@...or.com>
Cc:	Jiri Kosina <jkosina@...e.cz>, LKML <linux-kernel@...r.kernel.org>,
	Josh Boyer <jwboyer@...hat.com>
Subject: Re: [PATCH] binfmt_elf: fix PIE load with randomization disabled

On Mon, Dec 9, 2013 at 1:53 PM, H. Peter Anvin <hpa@...or.com> wrote:
> On 12/09/2013 01:52 PM, H.J. Lu wrote:
>>>
>>> Why is that?  It would seem to be a big difference between a relocatable
>>> binary (PIE) and one with a load address fixed at link time.
>>>
>>
>> PIE with non-zero vaddr should be loaded at non-zero
>> vaddr.  Otherwise, PIE may not work as expected.
>>
>
> Please explain why that is the case, as it seems to be implying that PIE
> isn't actually relocatable in that case...
>

A Linux/x86-64 user came to me at the end of 2008.  He needed
to load an executable above 4GB.  I added -Ttext-segment option
to linker:

https://sourceware.org/ml/binutils/2009-01/msg00173.html

so that he could load his program compiled as PIE above 4GB.
If kernel is changed not to honor it, his program won't work any more.
In normal case, PIE has zero vaddr and this doesn't apply.

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