Re: 2.5.22: FB_VESA - early crash in fbcon_cursor()

From: Paul Mundt (lethal@ChaoticDreams.ORG)
Date: Tue Jun 18 2002 - 10:38:29 EST


Hi Martin,

On Tue, Jun 18, 2002 at 12:31:29PM +0200, Martin Diehl wrote:
> no luck here getting 2.5.22 to boot on my ob800 with vesafb enabled.
> Same with 2.5.21. Last one working was 2.5.16 but I haven't tried 17-20.
> Box oopses due to NULL-pointer dereference during inital fbdev setup.
>
> config, dmesg + decoded dump from serial console below.
>
<snip>

> Code: 8b 40 18 85 c0 74 4a 66 8b 7f 2c 89 ea 66 89 bb e4 00 00 00
> Error (Oops_bfd_perror): set_section_contents Bad value
>
> >>EIP; c0192baf <fbcon_cursor+6f/200> <=====
> Trace; c0177281 <hide_cursor+81/90>
> Trace; c017a79c <vt_console_print+8c/310>
<snip>

Looks like the dispsw isn't being set and you're running into the NULL
dereference in fbcon_cursor() upon trying to dereference it.. it looks like
fbgen.c is the culprit here, as it never sets display->dispsw if we aren't in
24-bpp or have FBCON_HAS_ACCEL set..

James, what's the point of th FBCON_HAS_ACCEL ifdef? It looks like all the
accel wrapper code does is provide a wrapper to the fillrect, imageblit, and
copyarea routines -- if the driver doesn't have accelerated ones to provide
for itself, it just uses the cfb_fillrect/imageblit/copyarea as a fallback,
thus it should _always_ be safe to call them.

If that's not the case, we'll have to re-introduce the FBON_CAS_CFBx
brain-damage in gen_set_disp() to keep dispsw happy.

Regards,

-- 
Paul Mundt <lethal@chaoticdreams.org>

--- linux-fbdev-2.5/drivers/video/fbgen.c Tue Jun 18 11:37:46 2002 +++ linux-fbdev-2.5/drivers/video/fbgen.c Tue Jun 18 11:37:59 2002 @@ -452,10 +452,9 @@ #endif } -#ifdef FBCON_HAS_ACCEL display->scrollmode = SCROLL_YNOMOVE; display->dispsw = &fbcon_accel; -#endif + return; }


- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jun 23 2002 - 22:00:16 EST