[lkml]   [2007]   [Jul]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Is PIE randomization breaking klibc binaries?
On 07/24/2007 04:34 PM, Chuck Ebbert wrote:
> On 07/20/2007 06:05 PM, H. Peter Anvin wrote:
>>> It looks like that the PIE randomization patch breaks klibc
>>> binaries on x86-64.
>> Interesting.
>> klibc binaries are indeed statically linked, but composed of two
>> different ELF images: the application itself and the shared libary
>> (which is referenced from the application header as the "interpreter").
>> Neither of these is an ET_DYN file; they are both ET_EXEC, so it
>> *should* be unaffected by the PIE randomization patch. Obviously, that
>> seems to not be the case.
>> My guess is that this patch mishandles interpreter images which are
>> ET_EXEC. Jan, any insight?
> Well, they don't run on Fedora 6 either (which has the same code, it's
> part of exec-shield):
> $ strace ./cat
> execve("./cat", ["./cat"], [/* 55 vars */]) = -1 ENOENT (No such file or directory)
> ...
> $ file cat
> cat: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked (uses shared libs), stripped
> Funny nobody noticed that before...

After installing and klibc-<ID>.so into /lib everything works:

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
PHDR 0x000034 0x08048034 0x08048034 0x0000a0 0x0000a0 R E 0x4
INTERP 0x0000d4 0x080480d4 0x080480d4 0x00002a 0x00002a R 0x1
[Requesting program interpreter: /lib/]

Ulrich, did your initrd contain the correct .so? Did you try rebuilding klibc after
building the new kernel?
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2007-07-24 23:01    [W:0.084 / U:3.688 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site