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 >
