lkml.org 
[lkml]   [2008]   [Nov]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] Fix crash in viafb due to 4k stack overflow
On Sun, 9 Nov 2008 21:38:11 +0100 Bruno Pr__mont <bonbons@linux-vserver.org> wrote:

> On Sun, 09 November 2008 Arjan van de Ven wrote:
> > On Sun, 9 Nov 2008 Andrew Morton wrote:
> > > On Sun, 9 Nov 2008 Bruno Pr__mont wrote:
> > >
> > > > The function viafb_cursor() uses 2 stack-variables of CURSOR_SIZE
> > > > bits; CURSOR_SIZE is defined as (8 * 1024). Using up twice 1k on
> > > > stack is too much for 4k-stack (though it works with 8k-stacks).
> > >
> > > >
> > > > if (viacursor.enable)
> > >
> > > Is the ->fb_cursor handler allowed to perform GFP_KERNEL memory
> > > allocations? It's never called from atomic contexts?
> >
> > if it's allowed to do GFP_KERNEL memory allocations the statement that
> > it works with 8k stacks is a bit overstated... since irq's can come in
> > and take several KB of stack as well ;)
> I don't know if it can be called from atomic contexts or not :(
>
>
> In addition I get panics some time after start-up which I'm not sure
> what to associate them with (apparently unrelated)
> It could be some stack overflow by calling fbset (I will to more testing
> in order to find out)
>
> First attempt: calling fbset via ssh:
>
> [ 1806.952151] BUG: unable to handle kernel NULL pointer dereference at 00000123
> [ 1806.952601] IP: [<c03d2737>] icmpv6_send+0x387/0x580
>
> ...
>
> Second attempt, delayed after calling fbset from console:
>
> [ 217.260426] BUG: unable to handle kernel NULL pointer dereference at 000000c7
> [ 217.260915] IP: [<c0380b46>] rt_worker_func+0xb6/0x160

gack. Your kernel was destroyed.

Stack overflow might well explain this. Does it work OK with 8k stacks?

scripts/checkstack.pl should help find the problems.


\
 
 \ /
  Last update: 2008-11-09 21:59    [W:0.075 / U:1.720 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site