From: Adam Belay <ambx1@neo.rr.com>
To: Andrew Morton <akpm@digeo.com>
Cc: Justin A <ja6447@albany.edu>,
greg@kroah.com, linux-kernel@vger.kernel.org
Subject: Re: pnpbios oops on boot w/ 2.5.47
Date: Sun, 17 Nov 2002 17:34:43 +0000 [thread overview]
Message-ID: <20021117173443.GB1273@neo.rr.com> (raw)
In-Reply-To: <3DD71CAA.E2FE9D9@digeo.com>
On Sat, Nov 16, 2002 at 08:35:54PM -0800, Andrew Morton wrote:
> Adam Belay wrote:
> >
> > The typo appears to be in pnpbios_set_resources. Andrew: Is this where you
> > found it?
>
> Well no.
>
> > --- 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);
>
> As far as I can see, max_node_size is never initialised anywhere.
>
> mnm:/usr/src/25> grep -rI max_node_size .
> ./drivers/pnp/pnpbios/core.c: node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
> ./drivers/pnp/pnpbios/core.c: node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
> ./drivers/pnp/pnpbios/core.c: node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
> ./drivers/pnp/pnpbios/core.c: node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
> ./drivers/pnp/pnpbios/proc.c: node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
> ./drivers/pnp/pnpbios/proc.c: node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
> ./drivers/pnp/pnpbios/proc.c: node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
> ./drivers/pnp/pnpbios/proc.c: node = pnpbios_kmalloc(node_info.max_node_size, GFP_KERNEL);
> ./fs/reiserfs/fix_node.c: int total_node_size, max_node_size, current_item_size;
> ./fs/reiserfs/fix_node.c: max_node_size = MAX_CHILD_SIZE (PATH_H_PBUFFER (tb->tb_path, h));
> ./fs/reiserfs/fix_node.c: if (i == max_node_size)
> ./fs/reiserfs/fix_node.c: return (i / max_node_size + 1);
> ./fs/reiserfs/fix_node.c: cur_free = max_node_size;
> ./fs/reiserfs/fix_node.c: if (total_node_size + current_item_size <= max_node_size) {
> ./fs/reiserfs/fix_node.c: if (current_item_size > max_node_size) {
> ./fs/reiserfs/fix_node.c: current_item_size, max_node_size);
> ./fs/reiserfs/fix_node.c: free_space = max_node_size - total_node_size - IH_SIZE;
> ./include/linux/pnpbios.h: __u16 max_node_size;
It may not appear to be initialized but in reality it actually is. pnp_bios_dev_node_info
recieves a pointer to the node_info structure containing max_node_size. It then passes the
pointer to __pnp_bios_dev_node_info which then passes the pointer to call_pnp_bios.
call_pnp_bios is in assembler primarily and writes data directly to the pointer almost as if
it were a buffer. As a result the structure contains a value for max_node_size.
I appreciate your input. Let me know if you need any additional information.
Thanks,
Adam
next prev parent reply other threads:[~2002-11-17 22:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-11-16 22:00 pnpbios oops on boot w/ 2.5.47 Justin A
2002-11-16 22:08 ` Andrew Morton
2002-11-17 1:52 ` Andrew Morton
2002-11-16 23:25 ` Adam Belay
2002-11-17 4:35 ` Andrew Morton
2002-11-17 17:34 ` Adam Belay [this message]
2002-11-18 17:35 ` Alan Cox
2002-11-17 6:00 ` Justin A
2002-11-17 18:05 ` Adam Belay
2002-11-17 23:41 ` Justin A
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20021117173443.GB1273@neo.rr.com \
--to=ambx1@neo.rr.com \
--cc=akpm@digeo.com \
--cc=greg@kroah.com \
--cc=ja6447@albany.edu \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.