On Fri, Jun 18, 2010 at 10:47 AM, vinit dhatrak <[email protected]>wrote:

> On Fri, Jun 18, 2010 at 10:11 AM, Prasad Joshi <[email protected]>
> wrote:
> > Hi All,
> >
> > I am trying to understand a a kernel oops report. Here are some of the
> > fields from the report
> >
> > BUG: unable to handle kernel NULL pointer dereference at 0000000000000034
> > Oops: 0000 [#1] SMP
> > Pid: 6478, comm: cp Tainted: P 2.6.31.5-127.fc12.x86_64 #1 Inspiron 1525
> > RIP: 0010:[<ffffffff810faac1>] [<ffffffff810faac1>]
> do_sys_open+0x7a/0x10f
> > CR2: 0000000000000034
> >
> > As I know, when a page fault occurs, the address the program attempted to
> > access is stored in the CR2 register. So probably the pointer is pointing
> to
> > address 0034 and is being access.
> >
> > The BUG string is bit confusing, it says NULL pointer dereference at
> 0034, I
> > know the address 00034 is not valid but why is it interpreted as NULL
> > pointer? The NULL pointer as I know should point to address 0.
> >
> > Thanks and Regards,
> > Prasad
> >
>
> Hi Prasad,
>
> I think its mostly a case when you have some struct with a pointer as
> a member which is after 0x34 bytes. Now compiler generate addresses
> for member variables like (base address of struct) + offset (here
> 0x34). So in your case, base pointer is NULL and you are trying to
> access one the members of that struct.
>
> Correct me if I am wrong here.
>
>
Thanks Vinit for your reply. I am trying to figure out what has happened,
your inputs would certainly help. I will update the thread once I have more
information.

Thanks and Regards,
Prasad


> -Vinit
>

Reply via email to