Mailing List archive

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

[linux-dvb] Oops when removing a dvbnet



Hello

With dvbnet I have setup five networks. When I want to remove them I get
an oops while removing the second interface:

   /usr/sbin/dvbnet -d dvb0_4

   DVB Network Interface Manager
   Version 1.1.0-TVF (Build Wed Nov 24 09:55:56 AM 2004)
   Copyright (C) 2003, TV Files S.p.A

   Device: /dev/dvb/adapter0/net0
   Status: device 0 removed successfully.

This one is removed without problems, but the second one goes as follows:

   /usr/sbin/dvbnet -d dvb0_3

   DVB Network Interface Manager
   Version 1.1.0-TVF (Build Wed Nov 24 09:55:56 AM 2004)
   Copyright (C) 2003, TV Files S.p.A

   Device: /dev/dvb/adapter0/net0
   Segmentation fault

In /var/log/messages there is this oops:

   Unable to handle kernel NULL pointer dereference at virtual address 00000068
   printing eip:
   f98a331f
   *pde = 00000000
   Oops: 0000 [#1]
   SMP
   Modules linked in: stv0299 w83627hf i2c_sensor i2c_isa ip_conntrack iptable_filter ip_tables binfmt_misc uhci_hcd ehci_hcd usbcore skystar2 dvb_core floppy ide_cd cdrom
   CPU:    1
   EIP:    0060:[<f98a331f>]    Not tainted VLI
   EFLAGS: 00010246   (2.6.10-rc2)
   EIP is at dvb_net_remove_if+0x16/0x53 [dvb_core]
   eax: ffffffea   ebx: 00000000   ecx: 00000000   edx: 00000000
   esi: 00000000   edi: f78ea470   ebp: 00000000   esp: d0f3eee0
   ds: 007b   es: 007b   ss: 0068
   Process dvbnet (pid: 8807, threadinfo=d0f3e000 task=d1f71a20)
   Stack: 00006f35 f98ac460 00000000 f9899645 00000000 d18e2e80 f7730bb4 00000000
          00000000 00684330 00000004 d0f3efc4 d0f3efc4 c02d0b49 00000004 0000000e
          0000000b 00000000 f989905f c01562dd d18e2e80 c014f5d5 00030002 f7730bb4
   Call Trace:
    [<f9899645>] dvb_usercopy+0x93/0xfa [dvb_core]
    [<f989905f>] dvb_device_open+0x0/0x13d [dvb_core]
    [<c01562dd>] chrdev_open+0xad/0x15e
    [<c014f5d5>] get_empty_filp+0x52/0xc9
    [<c014df0b>] dentry_open+0xaf/0x1d7
    [<c014de56>] filp_open+0x40/0x46
    [<c017399a>] dnotify_parent+0x1f/0x75
    [<f98a3585>] dvb_net_ioctl+0x18/0x1d [dvb_core]
    [<f98a335c>] dvb_net_do_ioctl+0x0/0x211 [dvb_core]
    [<c015e13f>] sys_ioctl+0x1d0/0x22d
    [<c0102cf1>] sysenter_past_esp+0x52/0x71
   Code: 5d c3 89 d8 c7 44 af 04 00 00 00 00 e8 ef 7f 9d c6 89 f0 eb e5 57 89 c7 56 53 89 d3 8b 4c 9f 2c 8b 74 90 04 b8 ea ff ff ff 85 c9 <8b> 56 68 74 34 8b 12 b0 f0 85 d2 75 2c 89 f0 e8 69 fd ff ff e8

Trying to remove a third interface gives the following:

   /usr/sbin/dvbnet -d dvb0_2

   DVB Network Interface Manager
   Version 1.1.0-TVF (Build Wed Nov 24 09:55:56 AM 2004)
   Copyright (C) 2003, TV Files S.p.A

   Device: /dev/dvb/adapter0/net0
   Error: couldn't open device /dev/dvb/adapter0/net0: 16 Device or resource busy

Kernel is 2.6.10-rc2 with cset-20041123_0604.txt applied. The system is a
P4 with HT enabled and a skystar2 (think it is version 2.6C).

I have noticed this behaviour also happen with other kernels, down to
2.4.x.

Attached is the output from ksymoops. Please tell me if I forgot
anything.

Regards,
Holger (Kiehl)
-- 
ksymoops 2.4.9 on i686 2.6.10-rc2.  Options used
     -V (default)
     -k /proc/ksyms (default)
     -l /proc/modules (default)
     -o /lib/modules/2.6.10-rc2/ (default)
     -m /usr/src/linux/System.map (default)

Warning: You did not tell me where to find symbol information.  I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc.  ksymoops -h explains the options.

Error (regular_file): read_ksyms stat /proc/ksyms failed
No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Error (regular_file): read_system_map stat /usr/src/linux/System.map failed
Warning (merge_maps): no symbols in merged map
Unable to handle kernel NULL pointer dereference at virtual address 00000068
f98a331f
*pde = 00000000
Oops: 0000 [#1]
CPU:    1
EIP:    0060:[<f98a331f>]    Not tainted VLI
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246   (2.6.10-rc2)
eax: ffffffea   ebx: 00000000   ecx: 00000000   edx: 00000000
esi: 00000000   edi: f78ea470   ebp: 00000000   esp: d0f3eee0
ds: 007b   es: 007b   ss: 0068
Stack: 00006f35 f98ac460 00000000 f9899645 00000000 d18e2e80 f7730bb4 00000000
       00000000 00684330 00000004 d0f3efc4 d0f3efc4 c02d0b49 00000004 0000000e
       0000000b 00000000 f989905f c01562dd d18e2e80 c014f5d5 00030002 f7730bb4
Call Trace:
 [<f9899645>] dvb_usercopy+0x93/0xfa [dvb_core]
 [<f989905f>] dvb_device_open+0x0/0x13d [dvb_core]
 [<c01562dd>] chrdev_open+0xad/0x15e
 [<c014f5d5>] get_empty_filp+0x52/0xc9
 [<c014df0b>] dentry_open+0xaf/0x1d7
 [<c014de56>] filp_open+0x40/0x46
 [<c017399a>] dnotify_parent+0x1f/0x75
 [<f98a3585>] dvb_net_ioctl+0x18/0x1d [dvb_core]
 [<f98a335c>] dvb_net_do_ioctl+0x0/0x211 [dvb_core]
 [<c015e13f>] sys_ioctl+0x1d0/0x22d
 [<c0102cf1>] sysenter_past_esp+0x52/0x71
Code: 5d c3 89 d8 c7 44 af 04 00 00 00 00 e8 ef 7f 9d c6 89 f0 eb e5 57 89 c7 56 53 89 d3 8b 4c 9f 2c 8b 74 90 04 b8 ea ff ff ff 85 c9 <8b> 56 68 74 34 8b 12 b0 f0 85 d2 75 2c 89 f0 e8 69 fd ff ff e8


>>EIP; f98a331f No symbols available   <=====

Trace; f9899645 No symbols available
Trace; f989905f No symbols available
Trace; c01562dd No symbols available
Trace; c014f5d5 No symbols available
Trace; c014df0b No symbols available
Trace; c014de56 No symbols available
Trace; c017399a No symbols available
Trace; f98a3585 No symbols available
Trace; f98a335c No symbols available
Trace; c015e13f No symbols available
Trace; c0102cf1 No symbols available

This architecture has variable length instructions, decoding before eip
is unreliable, take these instructions with a pinch of salt.

Code;  f98a32f4 No symbols available
00000000 <_EIP>:
Code;  f98a32f4 No symbols available
   0:   5d                        pop    %ebp
Code;  f98a32f5 No symbols available
   1:   c3                        ret    
Code;  f98a32f6 No symbols available
   2:   89 d8                     mov    %ebx,%eax
Code;  f98a32f8 No symbols available
   4:   c7 44 af 04 00 00 00      movl   $0x0,0x4(%edi,%ebp,4)
Code;  f98a32ff No symbols available
   b:   00 
Code;  f98a3300 No symbols available
   c:   e8 ef 7f 9d c6            call   c69d8000 <_EIP+0xc69d8000>
Code;  f98a3305 No symbols available
  11:   89 f0                     mov    %esi,%eax
Code;  f98a3307 No symbols available
  13:   eb e5                     jmp    fffffffa <_EIP+0xfffffffa>
Code;  f98a3309 No symbols available
  15:   57                        push   %edi
Code;  f98a330a No symbols available
  16:   89 c7                     mov    %eax,%edi
Code;  f98a330c No symbols available
  18:   56                        push   %esi
Code;  f98a330d No symbols available
  19:   53                        push   %ebx
Code;  f98a330e No symbols available
  1a:   89 d3                     mov    %edx,%ebx
Code;  f98a3310 No symbols available
  1c:   8b 4c 9f 2c               mov    0x2c(%edi,%ebx,4),%ecx
Code;  f98a3314 No symbols available
  20:   8b 74 90 04               mov    0x4(%eax,%edx,4),%esi
Code;  f98a3318 No symbols available
  24:   b8 ea ff ff ff            mov    $0xffffffea,%eax
Code;  f98a331d No symbols available
  29:   85 c9                     test   %ecx,%ecx

This decode from eip onwards should be reliable

Code;  f98a331f No symbols available
00000000 <_EIP>:
Code;  f98a331f No symbols available   <=====
   0:   8b 56 68                  mov    0x68(%esi),%edx   <=====
Code;  f98a3322 No symbols available
   3:   74 34                     je     39 <_EIP+0x39>
Code;  f98a3324 No symbols available
   5:   8b 12                     mov    (%edx),%edx
Code;  f98a3326 No symbols available
   7:   b0 f0                     mov    $0xf0,%al
Code;  f98a3328 No symbols available
   9:   85 d2                     test   %edx,%edx
Code;  f98a332a No symbols available
   b:   75 2c                     jne    39 <_EIP+0x39>
Code;  f98a332c No symbols available
   d:   89 f0                     mov    %esi,%eax
Code;  f98a332e No symbols available
   f:   e8 69 fd ff ff            call   fffffd7d <_EIP+0xfffffd7d>
Code;  f98a3333 No symbols available
  14:   e8                        .byte 0xe8


2 warnings and 2 errors issued.  Results may not be reliable.

Home | Main Index | Thread Index