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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080529223431.9b406072.akpm@linux-foundation.org>
Date:	Thu, 29 May 2008 22:34:31 -0700
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	Christoph Lameter <clameter@....com>
Cc:	linux-arch@...r.kernel.org, linux-kernel@...r.kernel.org,
	David Miller <davem@...emloft.net>,
	Eric Dumazet <dada1@...mosbay.com>,
	Peter Zijlstra <peterz@...radead.org>,
	Rusty Russell <rusty@...tcorp.com.au>,
	Mike Travis <travis@....com>
Subject: Re: [patch 03/41] cpu alloc: Use cpu allocator instead of the
 builtin modules per cpu allocator

On Thu, 29 May 2008 22:14:17 -0700 (PDT) Christoph Lameter <clameter@....com> wrote:

> On Thu, 29 May 2008, Andrew Morton wrote:
> 
> > > +			printk(KERN_WARNING "%s: per-cpu alignment %li > %li\n",
> > > +			mod->name, align, PAGE_SIZE);
> > 
> > Indenting broke.
> 
> Hmmm. Okay.
>  
> > Alas, PAGE_SIZE has, iirc, unsigned type on some architectures and
> > unsigned long on others.  I suspect you'll need to cast it to be able
> > to print it.
> 
> This is code that was moved.
> 
> > > +		percpu = cpu_alloc(size, GFP_KERNEL|__GFP_ZERO, align);
> > > +		if (!percpu)
> > > +			printk(KERN_WARNING "Could not allocate %lu bytes percpu data\n",
> > 
> > 80-col bustage,.
> > 
> > A printk like this should, I think, identify what part of the kernel it
> > came from.
> 
> Again moved code. Should I really do string separations for code 
> that is moved?

That's not a string separation - it is a functional improvement.

Sure, why not fix these little things while we're there?

> > But really, I don't think any printk should be present here. 
> > cpu_alloc() itself should dump the warning and the backtrace when it
> > runs out.  Because a cpu_alloc() failure is a major catastrophe.  It
> > probably means a reconfigure-and-reboot cycle.
> 
> The code has been able to deal with an allocpercpu failure in the 
> past. Why would it have trouble with a cpu_alloc failure here?

Because an alloc_percpu failure is a page allocator failure.  This is a
well-known situation which we know basically never happens, or at least
happens under well-known circumstances.

Whereas a cpu_alloc() failure is a dead box.  We cannot fix it via
running page reclaim.  We cannot fix it via oom-killing someone.  We
are dead.
--
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