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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox