lkml.org 
[lkml]   [2002]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: pnpbios oops on boot w/ 2.5.47
On Sat, Nov 16, 2002 at 05:52:21PM -0800, Andrew Morton wrote:
> Andrew Morton wrote:
> >
> > Justin A wrote:
> > >
> > > Hi :)
> > >
> > > I tried to "port" kmsgdump to 2.5.47 and for some reason, it worked.
> > >
> > > Attached is the full dmesg
> > >
> > > Alan: I ran dmidecode under 2.4.19 which said simply "PNP BIOS present"
> > >
> > > This is a thinkpad 760e, really old..I don't even think I need pnpbios
support


If it was calling pnpbios_set_resources you probably do. This means it was
trying to activate a device. If a device is not active you cannot use it.
This device was most likely a serial port or modem. Try turning on PnP
Debug after applying the below patch and see if a device is activated.


> > > for anything. 2.5.47/2.5.47-ac5 boot with pnpbios turned off, so I think
you
> > > just need to add this to your blacklist?
> > >
> >
> > The BUG in slab indicates that something overran the end of a kmalloced
> > buffer. That'll be either pnp_bios_get_dev_node() or node_set_resources()
> > ran off the end of `node'.
>
> err...
>
> node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
>
> max_node_size appears to never be initialised.


Oops. I put the pnpbios_kmalloc in the wrong place. It's amazing it still
worked on my test box. Here's a patch that should fix it. Justin: could you
please try it.

Thanks,
Adam

The typo appears to be in pnpbios_set_resources. Andrew: Is this where you
found it?


--- a/drivers/pnp/pnpbios/core.c Wed Nov 6 17:51:53 2002
+++ b/drivers/pnp/pnpbios/core.c Sat Nov 16 23:03:00 2002
@@ -1285,9 +1285,9 @@
return -EBUSY;
if (flags == PNP_DYNAMIC && !pnp_is_dynamic(dev))
return -EPERM;
- node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
if (pnp_bios_dev_node_info(&node_info) != 0)
return -ENODEV;
+ node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
if (!node)
return -1;
if (pnp_bios_get_dev_node(&nodenum, (char )1, node))
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:31    [W:0.239 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site