Re: 2.6.9rc2-mm4 oops

From: Bjorn Helgaas
Date: Thu Sep 30 2004 - 18:08:04 EST


On Thursday 30 September 2004 3:22 pm, Bjorn Helgaas wrote:
> Fernando Pablo Lopez-Lezcano <nando@xxxxxxxxxxxxxxxxxx> wrote:
> > inserting floppy driver for 2.6.8.1-1.520.1nov.rhfc2.ccrma
> > Unable to handle kernel paging request at virtual address f8881920
> > printing eip:
> > c0251d3d
> > *pde = 37f5f067
> > Oops: 0002 [#1]
> > PREEMPT
> > Modules linked in: floppy(U) sg(U) dm_mod(U) uhci_hcd(U) ehci_hcd(U)
> > button(U) battery(U) asus_acpi(U) ac(U) ext3(U) jbd(U) raid5(U) xor(U)
> > sata_via(U) sata_promise(U) libata(U) sd_mod(U) scsi_mod(U)
> > CPU: 0
> > EIP: 0060:[<c0251d3d>] Not tainted VLI
> > EFLAGS: 00010246 (2.6.8.1-1.520.1nov.rhfc2.ccrma)
> > EIP is at acpi_bus_register_driver+0xd2/0x165

Like Pierre, I was able to reproduce this with DEBUG_PAGEALLOC.
I found a struct acpi_driver in hpet.c that was erroneously marked
__init, and the attached patch fixed the oops for me. Can you give
this a whirl?
--- 2.6.9-rc2-mm4/drivers/char/hpet.c 2004-09-27 10:12:16.000000000 -0600
+++ hpet/drivers/char/hpet.c 2004-09-30 15:44:39.000000000 -0600
@@ -925,7 +925,7 @@
return 0;
}

-static struct acpi_driver hpet_acpi_driver __initdata = {
+static struct acpi_driver hpet_acpi_driver = {
.name = "hpet",
.ids = "PNP0103",
.ops = {