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: <20080321083952.GA20454@elte.hu>
Date:	Fri, 21 Mar 2008 09:39:52 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	David Miller <davem@...emloft.net>
Cc:	clameter@....com, linux-mm@...ck.org, linux-kernel@...r.kernel.org,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: [11/14] vcompound: Fallbacks for order 1 stack allocations on
	IA64 and x86


* David Miller <davem@...emloft.net> wrote:

> From: Christoph Lameter <clameter@....com>
> Date: Thu, 20 Mar 2008 23:17:14 -0700
> 
> > This allows fallback for order 1 stack allocations. In the fallback
> > scenario the stacks will be virtually mapped.
> > 
> > Signed-off-by: Christoph Lameter <clameter@....com>
> 
> I would be very careful with this especially on IA64.
> 
> If the TLB miss or other low-level trap handler depends upon being 
> able to dereference thread info, task struct, or kernel stack stuff 
> without causing a fault outside of the linear PAGE_OFFSET area, this 
> patch will cause problems.
> 
> It will be difficult to debug the kinds of crashes this will cause 
> too. [...]

another thing is that this patchset includes KERNEL_STACK_SIZE_ORDER 
which has been NACK-ed before on x86 by several people and i'm nacking 
this "configurable stack size" aspect of it again.

although it's not being spelled out in the changelog, i believe the 
fundamental problem comes from a cpumask_t taking 512 bytes with 
nr_cpus=4096, and if a few of them are on the kernel stack it can be a 
problem. The correct answer is to not put them on the stack and we've 
been taking patches to that end. Every other object allocator in the 
kernel is able to not put stuff on the kernel stack. We _dont_ want 
higher-order kernel stacks and we dont want to make a special exception 
for cpumask_t either.

i believe time might be better spent increasing PAGE_SIZE on these 
ridiculously large systems and making that work well with our binary 
formats - instead of complicating our kernel VM with virtually mapped 
buffers. That will also solve the kernel stack problem, in a very 
natural way.

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