Bug 243059

Summary: ndiswrapper kernel module fails with segmentation fault upon loading.
Product: [Fedora] Fedora Reporter: Fred Wells <fredcwells>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: low    
Version: 7Keywords: Reopened
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-06-10 00:52:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Fred Wells 2007-06-07 03:59:57 UTC
Description of problem:

Segmentation fault when loading ndiswrapper kernel module.


Version-Release number of selected component (if applicable):

kernel-2.6.21-1.3194.fc7
kmod-ndiswrapper-1.43-1.2.6.21_1.3194.fc7
ndiswrapper-1.43-1.lvn7

How reproducible:

Fails every time.

Steps to Reproduce:
1.  Install ndiswrapper and ndiswrapper kernel module.
2.  Run 'ndiswrapper -i AIRPLUS.INI' to load wireless drives.
3.  Run 'modprobe ndiswrapper' to load driver module.
 
Actual results:

Segmentation fault.

Expected results:

Module should be loaded and wireless card activated.

Additional info:

Output from /var/log/messages

Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: Oops: 0000 [#1]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: SMP
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: CPU:    0
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: EIP:    0060:[<d0f877c0>]    Tainted: P       VLI
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: EFLAGS: 00210246   (2.6.21-1.3194.fc7 #1)
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: EIP is at 0xd0f877c0
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: eax: 00000000   ebx: c7ca0a96   ecx: ca0fb874   edx: d0f8143c
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: esi: d0b91000   edi: c7ca0a97   ebp: d0d3bace   esp: c7ca0a70
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: Process modprobe (pid: 17127, ti=c7ca0000 task=c27ed630 
task.ti=c7ca0000)
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: Stack: d0f81458 d0b91000 00000000 ca0fb480 d0b91140 d0d3bb17 
c7ca0a97 c7ca0a96
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:        d0b91000 0000fff4 fffffff4 ca2ee740 c0452a5b 0000000c 
01000058 ca0fb480 Jun  6 2
2:49:09 mypc1 kernel: ndiswrapper version 1.43 loaded (smp=yes)
Jun  6 22:49:09 mypc1 kernel: ndiswrapper: driver airplus 
(D-Link,03/05/2003,3.0.5.0) loaded
Jun  6 22:49:09 mypc1 kernel: ACPI: PCI Interrupt 0000:00:0b.0[A] -> Link 
[LNKD] -> GSI 12 (level, lo
w) -> IRQ 12
Jun  6 22:49:09 mypc1 kernel: BUG: unable to handle kernel NULL pointer 
dereference at virtual addres
s 000000a4
Jun  6 22:49:09 mypc1 kernel:  printing eip:
Jun  6 22:49:09 mypc1 kernel: d0f877c0
Jun  6 22:49:09 mypc1 kernel: *pde = 00000000
Jun  6 22:49:09 mypc1 kernel: Oops: 0000 [#1]
Jun  6 22:49:09 mypc1 kernel: SMP
Jun  6 22:49:09 mypc1 kernel: last sysfs 
file: /devices/pci0000:00/0000:00:00.0/class
Jun  6 22:49:09 mypc1 kernel: Modules linked in: ndiswrapper(U) appletalk ipx 
p8023 vboxdrv(U) autofs
4 sunrpc dm_multipath video sbs i2c_ec button dock battery ac radeon drm ipv6 
lp loop snd_ens1371 gam
eport snd_rawmidi snd_ac97_codec ac97_bus snd_seq_dummy snd_seq_oss 
snd_seq_midi_event snd_seq snd_se
q_device snd_pcm_oss parport_pc snd_mixer_oss parport snd_pcm snd_timer snd 
3c59x soundcore snd_page_
alloc mii pcspkr i2c_amd756 i2c_core floppy sr_mod cdrom sg dm_snapshot 
dm_zero dm_mirror dm_mod usb_
storage pata_amd ata_generic libata sd_mod scsi_mod ext3 jbd mbcache ehci_hcd 
ohci_hcd uhci_hcd
Jun  6 22:49:09 mypc1 kernel: CPU:    0
Jun  6 22:49:09 mypc1 kernel: EIP:    0060:[<d0f877c0>]    Tainted: P       
VLI
Jun  6 22:49:09 mypc1 kernel: EFLAGS: 00210246   (2.6.21-1.3194.fc7 #1)
Jun  6 22:49:09 mypc1 kernel: EIP is at 0xd0f877c0
Jun  6 22:49:09 mypc1 kernel: eax: 00000000   ebx: c7ca0a96   ecx: ca0fb874   
edx: d0f8143c
Jun  6 22:49:09 mypc1 kernel: esi: d0b91000   edi: c7ca0a97   ebp: d0d3bace   
esp: c7ca0a70
Jun  6 22:49:09 mypc1 kernel: ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 
0068
Jun  6 22:49:09 mypc1 kernel: Process modprobe (pid: 17127, ti=c7ca0000 
task=c27ed630 task.ti=c7ca000
0)
Jun  6 22:49:09 mypc1 kernel: Stack: d0f81458 d0b91000 00000000 ca0fb480 
d0b91140 d0d3bb17 c7ca0a97 c
7ca0a96
Jun  6 22:49:09 mypc1 kernel:        d0b91000 0000fff4 fffffff4 ca2ee740 
c0452a5b 0000000c 01000058 c
a0fb480
Jun  6 22:49:09 mypc1 kernel:        c7911dcc d0b91140 ca0fb874 d0d3ba57 
ca0fb000 d0b91140 ca0fb480 0
1019a4c

Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:        c7911dcc d0b91140 ca0fb874 d0d3ba57 ca0fb000 d0b91140 
ca0fb480 01019a4c
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel: Call Trace:
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d3bb17>] ndis_isr+0x49/0x9c [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<c0452a5b>] request_irq+0xa7/0xd0
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d3ba57>] NdisMRegisterInterrupt+0x10b/0x15a [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d40a75>] IofCallDriver+0x7d/0xac [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d45afd>] miniport_init+0x9d/0x155 [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d45c93>] NdisDispatchPnp+0x7d/0xc51 [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<c04d8c24>] generic_make_request+0x29d/0x2ad
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<c04e2bc8>] __next_cpu+0x12/0x21
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<c0420028>] find_busiest_group+0x1b4/0x4c5
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<c0420bea>] enqueue_task+0x29/0x39
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<c0420e47>] __activate_task+0x1c/0x29
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<c0422295>] try_to_wake_up+0x3aa/0x3b4
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d40d6d>] IoAllocateIrp+0x6f/0x7c [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d41373>] IoBuildAsynchronousFsdRequest+0x2d/0x132 
[ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d40a75>] IofCallDriver+0x7d/0xac [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d4290a>] IoSendIrpTopDev+0xad/0xfb [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d42be4>] pnp_start_device+0x44/0x8b [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:09 2007 ...
mypc1 kernel:  [<d0d47d16>] NdisAddDevice+0x297/0x334 [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<d0d42e21>] wrap_pnp_start_device+0x1f6/0x214 [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<d0d42e84>] wrap_pnp_start_pci_device+0x45/0x4e [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c04ac73f>] sysfs_make_dirent+0x29/0x35
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c04ad4dd>] sysfs_create_link+0x128/0x13f
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c04e3424>] kobject_get+0xf/0x13
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c04efec0>] pci_match_device+0x12/0xa1
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c04eff9b>] pci_device_probe+0x36/0x57
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c05529ab>] really_probe+0xc6/0x14f
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c0552a78>] driver_probe_device+0x44/0xa5
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c0552b72>] __driver_attach+0x0/0xa5
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c0552be2>] __driver_attach+0x70/0xa5
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c0551ffb>] bus_for_each_dev+0x37/0x59
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c055282a>] driver_attach+0x16/0x18
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c0552b72>] __driver_attach+0x0/0xa5
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c05522ad>] bus_add_driver+0x5e/0x15f
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c04f00ed>] __pci_register_driver+0x6b/0x97
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<d0d38bc5>] loader_init+0x12d/0x207 [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<d0d4314d>] wrap_procfs_init+0x56/0xa3 [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<d0b78074>] wrapper_init+0x74/0xae [ndiswrapper]
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c04432e4>] sys_init_module+0x16c3/0x17fa
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c04755f8>] do_sync_read+0xc7/0x10a
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c0452609>] disable_irq+0x0/0x27
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  [<c0404f70>] syscall_call+0x7/0xb
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel:  =======================
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel: Code: 00 8b 44 24 04 80 b8 30 01 00 00 00 74 10 68 ff 7f 00 00 
68 98 00 00 00 50 e8 ff
f8 ff ff c2 04 00 8b 44 24 04 8b 80 bc 01 00 00 <66> 8b 88 a4 00 00 00 66 8b 
80 98 00 00 00 0f b7 c0
0f b7 c9 f7
Message from syslogd@ at Wed Jun  6 22:49:10 2007 ...
mypc1 kernel: EIP: [<d0f877c0>] 0xd0f877c0 SS:ESP 0068:c7ca0a70Jun  6 22:49:09 
mypc1 kernel: Call Tra
ce:
Jun  6 22:49:09 mypc1 kernel:  [<d0d3bb17>] ndis_isr+0x49/0x9c [ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<c0452a5b>] request_irq+0xa7/0xd0
Jun  6 22:49:09 mypc1 kernel:  [<d0d3ba57>] NdisMRegisterInterrupt+0x10b/0x15a 
[ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<d0d40a75>] IofCallDriver+0x7d/0xac 
[ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<d0d45afd>] miniport_init+0x9d/0x155 
[ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<d0d45c93>] NdisDispatchPnp+0x7d/0xc51 
[ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<c04d8c24>] generic_make_request+0x29d/0x2ad
Jun  6 22:49:09 mypc1 kernel:  [<c04e2bc8>] __next_cpu+0x12/0x21
Jun  6 22:49:09 mypc1 kernel:  [<c0420028>] find_busiest_group+0x1b4/0x4c5
Jun  6 22:49:09 mypc1 kernel:  [<c0420bea>] enqueue_task+0x29/0x39
Jun  6 22:49:09 mypc1 kernel:  [<c0420e47>] __activate_task+0x1c/0x29
Jun  6 22:49:09 mypc1 kernel:  [<c0422295>] try_to_wake_up+0x3aa/0x3b4
Jun  6 22:49:09 mypc1 kernel:  [<d0d40d6d>] IoAllocateIrp+0x6f/0x7c 
[ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<d0d41373>] 
IoBuildAsynchronousFsdRequest+0x2d/0x132 [ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<d0d40a75>] IofCallDriver+0x7d/0xac 
[ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<d0d4290a>] IoSendIrpTopDev+0xad/0xfb 
[ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<d0d42be4>] pnp_start_device+0x44/0x8b 
[ndiswrapper]
Jun  6 22:49:09 mypc1 kernel:  [<d0d47d16>] NdisAddDevice+0x297/0x334 
[ndiswrapper]
Jun  6 22:49:10 mypc1 kernel:  [<d0d42e21>] wrap_pnp_start_device+0x1f6/0x214 
[ndiswrapper]
Jun  6 22:49:10 mypc1 kernel:  [<d0d42e84>] 
wrap_pnp_start_pci_device+0x45/0x4e [ndiswrapper]
Jun  6 22:49:10 mypc1 kernel:  [<c04ac73f>] sysfs_make_dirent+0x29/0x35
Jun  6 22:49:10 mypc1 kernel:  [<c04ad4dd>] sysfs_create_link+0x128/0x13f
Jun  6 22:49:10 mypc1 kernel:  [<c04e3424>] kobject_get+0xf/0x13
Jun  6 22:49:10 mypc1 kernel:  [<c04efec0>] pci_match_device+0x12/0xa1
Jun  6 22:49:10 mypc1 kernel:  [<c04eff9b>] pci_device_probe+0x36/0x57
Jun  6 22:49:10 mypc1 kernel:  [<c05529ab>] really_probe+0xc6/0x14f
Jun  6 22:49:10 mypc1 kernel:  [<c0552a78>] driver_probe_device+0x44/0xa5
Jun  6 22:49:10 mypc1 kernel:  [<c0552b72>] __driver_attach+0x0/0xa5
Jun  6 22:49:10 mypc1 kernel:  [<c0552be2>] __driver_attach+0x70/0xa5
Jun  6 22:49:10 mypc1 kernel:  [<c0551ffb>] bus_for_each_dev+0x37/0x59
Jun  6 22:49:10 mypc1 kernel:  [<c055282a>] driver_attach+0x16/0x18
Jun  6 22:49:10 mypc1 kernel:  [<c0552b72>] __driver_attach+0x0/0xa5
Jun  6 22:49:10 mypc1 kernel:  [<c05522ad>] bus_add_driver+0x5e/0x15f
Jun  6 22:49:10 mypc1 kernel:  [<c04f00ed>] __pci_register_driver+0x6b/0x97
Jun  6 22:49:10 mypc1 kernel:  [<d0d38bc5>] loader_init+0x12d/0x207 
[ndiswrapper]
Jun  6 22:49:10 mypc1 kernel:  [<d0d4314d>] wrap_procfs_init+0x56/0xa3 
[ndiswrapper]
Jun  6 22:49:10 mypc1 kernel:  [<d0b78074>] wrapper_init+0x74/0xae 
[ndiswrapper]
Jun  6 22:49:10 mypc1 kernel:  [<c04432e4>] sys_init_module+0x16c3/0x17fa
Jun  6 22:49:10 mypc1 kernel:  [<c04755f8>] do_sync_read+0xc7/0x10a
Jun  6 22:49:10 mypc1 kernel:  [<c0452609>] disable_irq+0x0/0x27
Jun  6 22:49:10 mypc1 kernel:  [<c0404f70>] syscall_call+0x7/0xb
Jun  6 22:49:10 mypc1 kernel:  =======================
Jun  6 22:49:10 mypc1 kernel: Code: 00 8b 44 24 04 80 b8 30 01 00 00 00 74 10 
68 ff 7f 00 00 68 98 00                                                                                                            
00 00 50 e8 ff f8 ff ff c2 04 00 8b 44 24 04 8b 80 bc 01 00 00 <66> 8b 88 a4 
00 00 00 66 8b 80 98 00                                                                                                            
00 00 0f b7 c0 0f b7 c9 f7
Jun  6 22:49:10 mypc1 kernel: EIP: [<d0f877c0>] 0xd0f877c0 SS:ESP 
0068:c7ca0a70

Comment 1 Chuck Ebbert 2007-06-07 14:39:32 UTC
This is an ndiswrapper bug of some kind. Please report to the authors.
FWIW it looks like the driver has requested an irq, an interrupt was
delivered, but the driver was not really ready to receive an interrupt yet.
Typical driver bug...

http://ndiswrapper.sourceforge.net/support.html

Comment 2 Fred Wells 2007-06-09 00:40:45 UTC
I suppose I should have mentioned that this same driver/ndiswrapper 
combination worked flawlessly with FC6 and only broke after installing F7.  
I've also recompiled the driver from source myself with the same results.   
Based on this, I believe the problem has been been introduced by the F7 kernel 
and am therefore reopening the bug.   I will also report the problem to the 
ndiswrapper folks.

Comment 3 Dave Jones 2007-06-10 00:52:58 UTC
The trace has ndiswrapper all over it.  There's nothing to fix in the kernel.
That it worked in FC6 is irrelevant.  If out of tree drivers make assumptions to
some behaviour of the kernel, it's no surprise it breaks when that behaviour
changes.