Re: BUG-lockdep and freeze (was: Arrr! Linux 2.6.18)

Jan Beulich
2006-10-04T12:09:06Z

>>> Andi Kleen <ak@suse.de> 04.10.06 14:03 >>>
>On Wednesday 04 October 2006 13:58, Jan Beulich wrote:
>> >> >Proposed patch appended. Jan, what do you think?
>> >>
>> >> As said above - I thought we added zero-termination already.
>> >
>> >For head.S but not for kernel_thread I think. At least I can't
>> >find any existing code for kernel_thread().
>>
>> 2.6.18-git11 (i386) already has an annotated version of
>> kernel_thread_helper() in entry.S, including the pushing of a
>> fake (zero) return address. x86-64 has child_rip with the
>> added push even in original 2.6.18.
>
>True.
>
>I wonder why it didn't work then and why my patch fixed the crash.

That what I'm curious about too.

>Ok the pushl is outside the CFI_STARTPROC
>
>ENTRY(kernel_thread_helper)
> pushl $0 # fake return address for unwinder
> CFI_STARTPROC

Intentionally - before the push there is *no* return address at all.

Jan