linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [OOPS] paport related OOPS since 2.6.11-bk7
@ 2005-03-28 16:45 Eran Mann
  2005-03-28 16:58 ` Russell King
  0 siblings, 1 reply; 5+ messages in thread
From: Eran Mann @ 2005-03-28 16:45 UTC (permalink / raw)
  To: Russell King; +Cc: linux-kernel

The OOPS below gets generated consistently when FC3 kudzu is run during 
boot (tested between 2.6.11-bk7 and 2.6.11.6-bk1). It seems to be caused 
by the hotplug-parport changeset:
http://linux.bkbits.net:8080/linux-2.5/cset@4230791b6YtcIhZDSvvWbzSdUpg2zg?nav=index.html|ChangeSet@-4w
(reverting this changeset eliminates the oops).

parport_pc: VIA 686A/8231 detected
parport_pc: probing current configuration
parport_pc: Current parallel port base: 0x378
parport0: PC-style at 0x378, irq 7 [PCSPP,EPP]
parport_pc: VIA parallel port: io=0x378, irq=7
Unable to handle kernel NULL pointer dereference at virtual address 00000000
  printing eip:
d3f37368
*pde = 00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: parport_pc parport binfmt_misc nls_cp437 
nls_iso8859_1 ntfs video thermal processor fan container button battery 
ac uhci_hcd usbcore 3c59x mii
CPU:    0
EIP:    0060:[<d3f37368>]    Not tainted VLI
EFLAGS: 00010286   (2.6.12-rc1)
EIP is at parport_pc_pci_remove+0x18/0x40 [parport_pc]
eax: c12ef844   ebx: c12ef800   ecx: c12ef844   edx: d3f37350
esi: 00000000   edi: d3f3cc68   ebp: ce53aecc   esp: ce53aec0
ds: 007b   es: 007b   ss: 0068
Process modprobe (pid: 3187, threadinfo=ce53a000 task=cfbe2570)
Stack: c018f481 c12ef800 c12ef844 ce53aedc c0239636 c12ef800 c12ef868 
ce53aef8
        c02fe67c c12ef844 c040412e d3f3ccb0 d3f3ccb0 d3f375a0 ce53af0c 
c02fe6a0
        c12ef844 d3f3cc68 00000000 ce53af24 c02feb9a d3f3cc68 d3f3cc68 
d3f3cc68
Call Trace:
  [<c0103ebf>] show_stack+0x7f/0xa0
  [<c0104056>] show_registers+0x156/0x1d0
  [<c010427a>] die+0xea/0x180
  [<c01149a2>] do_page_fault+0x482/0x6ba
  [<c0103b23>] error_code+0x2b/0x30
  [<c0239636>] pci_device_remove+0x36/0x40
  [<c02fe67c>] device_release_driver+0x7c/0x80
  [<c02fe6a0>] driver_detach+0x20/0x30
  [<c02feb9a>] bus_remove_driver+0x4a/0x90
  [<c02ff162>] driver_unregister+0x12/0x20
  [<c0239875>] pci_unregister_driver+0x15/0x20
  [<d3f3763e>] parport_pc_exit+0x9e/0xae [parport_pc]
  [<c0133fce>] sys_delete_module+0x17e/0x1b0
  [<c010303b>] sysenter_past_esp+0x54/0x75
Code: 44 24 04 89 0c 24 ff d2 eb 94 89 f6 8d bc 27 00 00 00 00 55 89 e5 
56 53 83 ec 04 8b 45 08 83 c0 44 8b 70 74 c7 40 74 00 00 00 00 <8b> 1e 
eb 10 8d 74 26 00 8b 44 9e 04 89 04 24 e8 d4 f4 ff ff 4b


-- 
Eran Mann
MRV International
www.mrv.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OOPS] paport related OOPS since 2.6.11-bk7
  2005-03-28 16:45 [OOPS] paport related OOPS since 2.6.11-bk7 Eran Mann
@ 2005-03-28 16:58 ` Russell King
  2005-03-28 17:19   ` Eran Mann
  0 siblings, 1 reply; 5+ messages in thread
From: Russell King @ 2005-03-28 16:58 UTC (permalink / raw)
  To: Eran Mann, Andrew Morton; +Cc: linux-kernel

On Mon, Mar 28, 2005 at 06:45:43PM +0200, Eran Mann wrote:
> The OOPS below gets generated consistently when FC3 kudzu is run during 
> boot (tested between 2.6.11-bk7 and 2.6.11.6-bk1). It seems to be caused 
> by the hotplug-parport changeset:
> http://linux.bkbits.net:8080/linux-2.5/cset@4230791b6YtcIhZDSvvWbzSdUpg2zg?nav=index.html|ChangeSet@-4w
> (reverting this changeset eliminates the oops).

Please try this instead.

It appears that the parport driver claims on-board superio devices
without actually doing anything.  When the driver is removed, we
try to dereference non-existent driver data to unregister the ports.
Since we didn't register anything, it's safe to ignore these devices
in the remove function.

Signed-off-by: Russell King <rmk@arm.linux.org.uk>

diff -up -x BitKeeper -x ChangeSet -x SCCS -x _xlk -x *.orig -x *.rej orig/drivers/parport/parport_pc.c linux/drivers/parport/parport_pc.c
--- orig/drivers/parport/parport_pc.c	Sat Mar 19 11:22:08 2005
+++ linux/drivers/parport/parport_pc.c	Mon Mar 28 17:55:51 2005
@@ -2976,10 +2976,12 @@ static void __devexit parport_pc_pci_rem
 
 	pci_set_drvdata(dev, NULL);
 
-	for (i = data->num - 1; i >= 0; i--)
-		parport_pc_unregister_port(data->ports[i]);
+	if (data) {
+		for (i = data->num - 1; i >= 0; i--)
+			parport_pc_unregister_port(data->ports[i]);
 
-	kfree(data);
+		kfree(data);
+	}
 }
 
 static struct pci_driver parport_pc_pci_driver = {

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OOPS] paport related OOPS since 2.6.11-bk7
  2005-03-28 16:58 ` Russell King
@ 2005-03-28 17:19   ` Eran Mann
  2005-03-28 19:01     ` Russell King
  0 siblings, 1 reply; 5+ messages in thread
From: Eran Mann @ 2005-03-28 17:19 UTC (permalink / raw)
  To: Russell King; +Cc: Andrew Morton, linux-kernel

Russell King wrote:
> On Mon, Mar 28, 2005 at 06:45:43PM +0200, Eran Mann wrote:
> 
>>The OOPS below gets generated consistently when FC3 kudzu is run during 
>>boot (tested between 2.6.11-bk7 and 2.6.11.6-bk1). It seems to be caused 
>>by the hotplug-parport changeset:
>>http://linux.bkbits.net:8080/linux-2.5/cset@4230791b6YtcIhZDSvvWbzSdUpg2zg?nav=index.html|ChangeSet@-4w
>>(reverting this changeset eliminates the oops).
> 
> 
> Please try this instead.
> 
> It appears that the parport driver claims on-board superio devices
> without actually doing anything.  When the driver is removed, we
> try to dereference non-existent driver data to unregister the ports.
> Since we didn't register anything, it's safe to ignore these devices
> in the remove function.
> 
> Signed-off-by: Russell King <rmk@arm.linux.org.uk>
> 
> diff -up -x BitKeeper -x ChangeSet -x SCCS -x _xlk -x *.orig -x *.rej orig/drivers/parport/parport_pc.c linux/drivers/parport/parport_pc.c
> --- orig/drivers/parport/parport_pc.c	Sat Mar 19 11:22:08 2005
> +++ linux/drivers/parport/parport_pc.c	Mon Mar 28 17:55:51 2005
> @@ -2976,10 +2976,12 @@ static void __devexit parport_pc_pci_rem
>  
>  	pci_set_drvdata(dev, NULL);
>  
> -	for (i = data->num - 1; i >= 0; i--)
> -		parport_pc_unregister_port(data->ports[i]);
> +	if (data) {
> +		for (i = data->num - 1; i >= 0; i--)
> +			parport_pc_unregister_port(data->ports[i]);
>  
> -	kfree(data);
> +		kfree(data);
> +	}
>  }
>  
>  static struct pci_driver parport_pc_pci_driver = {
> 

Doesn't seem to help. Do you want me to check anything else?
Mar 28 17:13:44 eran kernel: parport0: PC-style at 0x378, irq 7 [PCSPP,EPP]
Mar 28 17:13:44 eran kernel: parport_pc: VIA parallel port: io=0x378, irq=7
Mar 28 17:13:44 eran kernel: Unable to handle kernel NULL pointer 
dereference at virtual address 00000000
Mar 28 17:13:44 eran kernel:  printing eip:
Mar 28 17:13:44 eran kernel: d3f37368
Mar 28 17:13:44 eran kernel: *pde = 00000000
Mar 28 17:13:44 eran kernel: Oops: 0000 [#1]
Mar 28 17:13:44 eran kernel: PREEMPT
Mar 28 17:13:44 eran kernel: Modules linked in: parport_pc parport 
binfmt_misc nls_cp437 nls_iso8859_1 ntfs video thermal processor fan 
container button battery ac uhci_hcd usbcore 3c59x mii
Mar 28 17:13:44 eran kernel: CPU:    0
Mar 28 17:13:44 eran kernel: EIP:    0060:[<d3f37368>]    Not tainted VLI
Mar 28 17:13:44 eran kernel: EFLAGS: 00010286   (2.6.11-bk6-patched)
Mar 28 17:13:44 eran kernel: EIP is at parport_pc_pci_remove+0x18/0x40 
[parport_pc]
Mar 28 17:13:44 eran kernel: eax: c12ef844   ebx: c12ef800   ecx: 
c12ef844   edx: d3f37350
Mar 28 17:13:44 eran kernel: esi: 00000000   edi: d3f3cd48   ebp: 
ce585ecc   esp: ce585ec0
Mar 28 17:13:44 eran kernel: ds: 007b   es: 007b   ss: 0068
Mar 28 17:13:44 eran kernel: Process modprobe (pid: 3503, 
threadinfo=ce585000 task=cffdf040)
Mar 28 17:13:44 eran kernel: Stack: c0190441 c12ef800 c12ef844 ce585edc 
c0237c06 c12ef800 c12ef868 ce585ef8
Mar 28 17:13:44 eran kernel:        c02f9c5c c12ef844 c03ff1cd d3f3cd90 
d3f3cd90 d3f375a0 ce585f0c c02f9c80
Mar 28 17:13:44 eran kernel:        c12ef844 d3f3cd48 00000000 ce585f24 
c02fa17a d3f3cd48 d3f3cd48 d3f3cd48
Mar 28 17:13:44 eran kernel: Call Trace:
Mar 28 17:13:44 eran kernel:  [<c0103ecf>] show_stack+0x7f/0xa0
Mar 28 17:13:44 eran kernel:  [<c0104066>] show_registers+0x156/0x1d0
Mar 28 17:13:44 eran kernel:  [<c010428a>] die+0xea/0x180
Mar 28 17:13:44 eran kernel:  [<c0114e22>] do_page_fault+0x482/0x6ba
Mar 28 17:13:44 eran kernel:  [<c0103b33>] error_code+0x2b/0x30
Mar 28 17:13:44 eran kernel:  [<c0237c06>] pci_device_remove+0x36/0x40
Mar 28 17:13:44 eran kernel:  [<c02f9c5c>] device_release_driver+0x7c/0x80
Mar 28 17:13:44 eran kernel:  [<c02f9c80>] driver_detach+0x20/0x30
Mar 28 17:13:44 eran kernel:  [<c02fa17a>] bus_remove_driver+0x4a/0x90
Mar 28 17:13:44 eran kernel:  [<c02fa742>] driver_unregister+0x12/0x20
Mar 28 17:13:44 eran kernel:  [<c0237e45>] pci_unregister_driver+0x15/0x20
Mar 28 17:13:44 eran kernel:  [<d3f3763e>] parport_pc_exit+0x9e/0xae 
[parport_pc]
Mar 28 17:13:44 eran kernel:  [<c01343fe>] sys_delete_module+0x17e/0x1b0
Mar 28 17:13:44 eran kernel:  [<c010304b>] sysenter_past_esp+0x54/0x75
Mar 28 17:13:44 eran kernel: Code: 44 24 04 89 0c 24 ff d2 eb 94 89 f6 
8d bc 27 00 00 00 00 55 89 e5 56 53 83 ec 04 8b 45 08 83 c0 44 8b 70 74 
c7 40 74 00 00 00 00 <8b> 1e eb 10 8d 74 26 00 8b 44 9e 04 89 04 24 e8 
d4 f4 ff ff 4b


-- 
Eran Mann
Senior Software Engineer
MRV International
Tel: 972-4-9936297
Fax: 972-4-9890430
www.mrv.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OOPS] paport related OOPS since 2.6.11-bk7
  2005-03-28 17:19   ` Eran Mann
@ 2005-03-28 19:01     ` Russell King
  2005-03-28 20:44       ` Eran Mann
  0 siblings, 1 reply; 5+ messages in thread
From: Russell King @ 2005-03-28 19:01 UTC (permalink / raw)
  To: Eran Mann; +Cc: Andrew Morton, linux-kernel

On Mon, Mar 28, 2005 at 07:19:00PM +0200, Eran Mann wrote:
> Mar 28 17:13:44 eran kernel: EIP is at parport_pc_pci_remove+0x18/0x40 [parport_pc]

Are you sure you reinstalled the kernel modules after rebuilding?
parport_pc_pci_remove() was 0x40 bytes long before, and still seems
to be.  Also, the Code: lines are identical.  This means you're
running the same (unpatched) code as you were before, so you aren't
actually running my fix.

Can you double-check please?

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 Serial core

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OOPS] paport related OOPS since 2.6.11-bk7
  2005-03-28 19:01     ` Russell King
@ 2005-03-28 20:44       ` Eran Mann
  0 siblings, 0 replies; 5+ messages in thread
From: Eran Mann @ 2005-03-28 20:44 UTC (permalink / raw)
  To: Russell King; +Cc: Andrew Morton, linux-kernel

Russell King wrote:

>Can you double-check please?
>  
>
I'm sorry, I booted the wrong image.
The fix does work (tested against 2.6.11.6-bk1).



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-03-28 20:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-28 16:45 [OOPS] paport related OOPS since 2.6.11-bk7 Eran Mann
2005-03-28 16:58 ` Russell King
2005-03-28 17:19   ` Eran Mann
2005-03-28 19:01     ` Russell King
2005-03-28 20:44       ` Eran Mann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).