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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200610010023.23479.ak@suse.de>
Date:	Sun, 1 Oct 2006 00:23:23 +0200
From:	Andi Kleen <ak@...e.de>
To:	Ingo Molnar <mingo@...e.hu>
Cc:	Linus Torvalds <torvalds@...l.org>,
	Eric Rannaud <eric.rannaud@...il.com>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	Andrew Morton <akpm@...l.org>, nagar@...son.ibm.com,
	Chandra Seetharaman <sekharan@...ibm.com>,
	Jan Beulich <jbeulich@...ell.com>
Subject: Re: BUG-lockdep and freeze (was: Arrr! Linux 2.6.18)

On Sunday 01 October 2006 00:10, Ingo Molnar wrote:
> 
> * Andi Kleen <ak@...e.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. 

Yes, but then you couldn't validate it like Linus asked for.
Also we've had cases where this information was corrupted

(e.g. when RSP starts somewhere completely bogus) 

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

Also how would you know in what kind of stack you are to select the right
check mask (since exception  stacks are larger than 8K)?  You would also need make 
unvalidated assumptions again.

The unwinder already does stronger validation than any of this.

That particularly case here was a hole in the fallback logic that got
actually fixed before 2.6.18 (not it was a -rc3 or so) 

-Andi

-
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