PROBLEM: oops occured by dentry being passed in is NULL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all,

I justed installed 2.6.13.1 (vanilla) on several laptops and a desktop,
the result is an Oops during boot. This is the information after running
ksymoops on the data:


>>EIP; c01dd9d3 <create_dir+13/1b0>   <=====

>>ebx; f7d7ce8c <__crc_pci_request_region+4b951/14beab>
>>edx; f7d7ce8c <__crc_pci_request_region+4b951/14beab>
>>esi; f7d7ce88 <__crc_pci_request_region+4b94d/14beab>
>>edi; f7c4169c <__crc_netlink_register_notifier+3711f1/3dbb2e>
>>ebp; c195fe3c <__crc_unregister_chrdev+329ab/422fd3>
>>esp; c195fe04 <__crc_unregister_chrdev+32973/422fd3>

Trace; c0170a0e <__kernel_text_address+2e/40>
Trace; c013d56b <show_trace+3b/80>
Trace; c01ddbd9 <sysfs_create_dir+39/80>
Trace; c027065f <create_dir+1f/50>
Trace; c02708a0 <kobject_add+50/d0>
Trace; c02db815 <class_device_add+85/1e0>
Trace; c02dba38 <class_device_create+98/c0>
Trace; c02ba278 <vcs_make_devfs+38/80>
Trace; c02c1313 <con_open+83/b0>
Trace; c02b1d9d <tty_open+25d/300>
Trace; c02b1b40 <tty_open+0/300>
Trace; c01aa6a6 <chrdev_open+c6/180>
Trace; c019fbfa <dentry_open+13a/200>
Trace; c019fab8 <filp_open+68/70>
Trace; c019feaf <sys_open+4f/e0>
Trace; c01393d8 <init+d8/1c0>
Trace; c0139300 <init+0/1c0>
Trace; c013a1cd <kernel_thread_helper+5/18>

Code;  c01dd9d3 <create_dir+13/1b0>
00000000 <_EIP>:
Code;  c01dd9d3 <create_dir+13/1b0>   <=====
   0:   c0 89 88 98 00 00 00      rorb   $0x0,0x9888(%ecx)   <=====
Code;  c01dd9da <create_dir+1a/1b0>
   7:   31 c0                     xor    %eax,%eax
Code;  c01dd9dc <create_dir+1c/1b0>
   9:   c3                        ret
Code;  c01dd9dd <create_dir+1d/1b0>
   a:   8d b4 26 00 00 00 00      lea    0x0(%esi),%esi
Code;  c01dd9e4 <create_dir+24/1b0>
  11:   8d bc 27 00 00 00 00      lea    0x0(%edi),%edi
Code;  c01dd9eb <create_dir+2b/1b0>
  18:   55                        push   %ebp

 <0>Kernel panic - not syncing: Attempted to kill init!


After a lot of help from spender (grsecurity) it seems that the oops
occurs when a NULL dentry is passed. After adding a line of code to
dir.c , recompile and reboot, a bit more detail is seen:

"create_dir passed NULL dentry!" , kernel BUG at fs/sysfs/file.c:383! ,
invalid operand: 0000 [#1] ...

The line of coded we added in dir.c (line 101) was:

if (p == NULL) { printk(KERN_ALERT "create_dir passed NULL dentry!\n");
return 0; }

This happened on a laptop, dell inspiron 5150, p4 w/ht, and a similar
crash happened on a remote server running 2.6.13.1 but i'll get that
information when i can go to the location.

So it seems it's sysfs, where a dir is being created and some how goes
wrong.

I'm not expert at all in kernel debugging or a programmer but if more
info is needed i'll try to gather it.

Thank you !

Trilight
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux