[klibc] signal handlers segfault on Fedora kernels
H. Peter Anvin
hpa at zytor.com
Mon Mar 21 11:58:04 PST 2005
Kay Sievers wrote:
>>
>>This is not even close to sane (there are at least 6 words on the stack
>>before anything that looks like an address), and I have absolutely no
>>idea what they have done to the kernel or glibc to "accomplish" this...
>
> Ah nice, good to have an idea now. I've looked over the patches they
> apply and is seems the execshield-patch that is causing it and the "vDSO
> randomisation" does not play well with us.
>
That doesn't explain why they leave a crap stack, nor does it explain
why glibc doesn't scream bloody murder.
My best guess is that glibc points all signals to an internal thunk and
uses a table to figure out where to dispatch to.
> If I switch on the /proc/sys/kernel/print-fatal-signal along with the
> segfault this is printed:
> kernel: klibctest/9222: potentially unexpected fatal signal 11.
> kernel: code at 00000420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> kernel:
> kernel: Pid: 9222, comm: klibctest
> kernel: EIP: 0073:[<00000420>] CPU: 0
> kernel: EIP is at 0x420
> kernel: ESP: 007b:bfed56e4 EFLAGS: 00010207 Not tainted (2.6.11-1.1191_FC4)
> kernel: EAX: 00000002 EBX: bfed59d0 ECX: 00000000 EDX: 00000000
> kernel: ESI: 00000064 EDI: 00000000 EBP: 080480e4 DS: 007b ES: 007b
> kernel: CR0: 8005003b CR2: 0000042f CR3: 32e53000 CR4: 000006c0
> kernel: klibctest/9222: potentially unexpected fatal signal 11.
> kernel: code at 00000420: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>
> If I switch off /proc/sys/kernel/vdso everything seems to work normal.
>
> Thanks,
> Kay
More information about the klibc
mailing list