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

Ingo Molnar
2006-09-30T22:18:18Z

* Andi Kleen <ak@suse.de> wrote:

> > Why not just add the simple validation?
> >
> > A kernel stack is one page in size. If you move to another page, you
> > terminate. It's that simple.
>
> No, it's not. On x86-64 it can be three or more stacks nested in
> complicated ways (process stack, interrupt stack, exception stack) The
> exception stack can happen multiple times.

it could be cleanly handled though: in June i suggested to use the
next-stack pointers at the end of exception pages. The only current
complexity here is that the 'linking' of exception pages is non-uniform,
it depends on the type of page. That's largely why that complex
statemachine had to be implemented, to match up the type of the page.
Since those pointers are put there by us, there's no real reason why we
couldnt standardize them.

Ingo