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
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
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.
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.