lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070425011654.222a2b4b.akpm@linux-foundation.org>
Date:	Wed, 25 Apr 2007 01:16:54 -0700
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	"Berck E. Nash" <flyboy@...il.com>
Cc:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Jeff Garzik <jeff@...zik.org>, Tejun Heo <htejun@...il.com>,
	linux-ide@...r.kernel.org
Subject: Re: 2.6.21-rc7-mm1 BUG at kernel/sched-clock.c:175
 init_sched_clock()

On Tue, 24 Apr 2007 12:28:29 -0600 "Berck E. Nash" <flyboy@...il.com> wrote:
> 
> Kernel panic on boot, console output attached.
> 

Thanks, cc's added.

>
> [14316256.221707] Linux version 2.6.21-rc7-mm1 (root@...a) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Tue Apr 24 12:09:02 MDT 2007
> [14316256.221707] Command line: root=/dev/sdc1 ro console=tty0 console=ttyS0,115200n8 BOOT_IMAGE=vmlinuz
> [14316256.221707] BIOS-provided physical RAM map:
> [14316256.221707]  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
> [14316256.221707]  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
> [14316256.221707]  BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved)
> [14316256.221707]  BIOS-e820: 0000000000100000 - 000000003ff80000 (usable)
> [14316256.221707]  BIOS-e820: 000000003ff80000 - 000000003ff8e000 (ACPI data)
> [14316256.221707]  BIOS-e820: 000000003ff8e000 - 000000003ffe0000 (ACPI NVS)
> [14316256.221707]  BIOS-e820: 000000003ffe0000 - 0000000040000000 (reserved)
> [14316256.221707]  BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
> [14316256.221707] end_pfn_map = 1048576
> [14316256.221707] DMI 2.4 present.
> [14316256.221707] ACPI: RSDP 000FAF20, 0024 (r2 ACPIAM)
> [14316256.221707] ACPI: XSDT 3FF80100, 0064 (r1 NEC              1000724 MSFT       97)
> [14316256.221707] ACPI: FACP 3FF80290, 00F4 (r3 A_M_I_ OEMFACP   1000724 MSFT       97)
> [14316256.221707] ACPI: DSDT 3FF80590, 9560 (r1  A0543 A0543000        0 INTL 20060113)
> [14316256.221707] ACPI: FACS 3FF8E000, 0040
> [14316256.221707] ACPI: APIC 3FF80390, 0080 (r1 A_M_I_ OEMAPIC   1000724 MSFT       97)
> [14316256.221707] ACPI: SLIC 3FF80410, 0176 (r1 NEC              1000724 MSFT       97)
> [14316256.221707] ACPI: OEMB 3FF8E040, 0066 (r1 A_M_I_ AMI_OEM   1000724 MSFT       97)
> [14316256.221707] ACPI: HPET 3FF89AF0, 0038 (r1 A_M_I_ OEMHPET   1000724 MSFT       97)
> [14316256.221707] ACPI: MCFG 3FF89B30, 003C (r1 A_M_I_ OEMMCFG   1000724 MSFT       97)
> [14316256.221707] ACPI: SSDT 3FF8E0B0, 01C6 (r1    AMI   CPU1PM        1 INTL 20060113)
> [14316256.221707] ACPI: SSDT 3FF8E280, 013A (r1    AMI   CPU2PM        1 INTL 20060113)
> [14316256.221707] Zone PFN ranges:
> [14316256.221707]   DMA             0 ->     4096
> [14316256.221707]   DMA32        4096 ->  1048576
> [14316256.221707]   Normal    1048576 ->  1048576
> [14316256.221707] Movable zone start PFN for each node
> [14316256.221707] early_node_map[2] active PFN ranges
> [14316256.221707]     0:        0 ->      159
> [14316256.221707]     0:      256 ->   262016
> [14316256.221707] ACPI: PM-Timer IO Port: 0x808
> [14316256.221707] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x00] enabled)
> [14316256.221707] Processor #0 (Bootup-CPU)
> [14316256.221707] ACPI: LAPIC (acpi_id[0x02] lapic_id[0x01] enabled)
> [14316256.221707] Processor #1
> [14316256.221707] ACPI: LAPIC (acpi_id[0x03] lapic_id[0x82] disabled)
> [14316256.221707] ACPI: LAPIC (acpi_id[0x04] lapic_id[0x83] disabled)
> [14316256.221707] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
> [14316256.221707] IOAPIC[0]: apic_id 2, address 0xfec00000, GSI 0-23
> [14316256.221707] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> [14316256.221707] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> [14316256.221707] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
> [14316256.221707] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
> [14316256.221707] Setting APIC routing to flat
> [14316256.221707] ACPI: HPET id: 0x8086a201 base: 0xfed00000
> [14316256.221707] Using ACPI (MADT) for SMP configuration information
> [14316256.221707] Allocating PCI resources starting at 50000000 (gap: 40000000:bfb00000)
> [14316256.221707] PERCPU: Allocating 32896 bytes of per cpu data
> [14316256.221707] Built 1 zonelists, mobility grouping on.  Total pages: 257236
> [14316256.221707] Kernel command line: root=/dev/sdc1 ro console=tty0 console=ttyS0,115200n8 BOOT_IMAGE=vmlinuz
> [14316256.221707] Initializing CPU#0
> [14316256.221707] PID hash table entries: 4096 (order: 12, 32768 bytes)
> [14316256.221707] time.c: Detected 2564.902 MHz processor.
> [14316256.231707] Console: colour VGA+ 80x25
> [14316256.235040] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
> [14316256.235040] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
> [14316256.235040] Checking aperture...
> [14316256.241707] Memory: 1026888k/1048064k available (2355k kernel code, 20620k reserved, 1490k data, 212k init)
> [14316256.325040] Calibrating delay using timer specific routine.. 5134.38 BogoMIPS (lpj=8554219)
> [14316256.325040] Mount-cache hash table entries: 256
> [14316256.325040] CPU: L1 I cache: 32K, L1 D cache: 32K
> [14316256.325040] CPU: L2 cache: 2048K
> [14316256.325040] using mwait in idle threads.
> [14316256.325040] CPU: Physical Processor ID: 0
> [14316256.325040] CPU: Processor Core ID: 0
> [14316256.325040] CPU0: Thermal monitoring enabled (TM2)
> [14316256.325040] Freeing SMP alternatives: 26k freed
> [14316256.325040] ACPI: Core revision 20070126
> [14316256.361707] Using local APIC timer interrupts.
> [14316256.361707] result 22900897
> [14316256.361707] Detected 22.900 MHz APIC timer.
> [14316256.368374] Booting processor 1/2 APIC 0x1
> [14316256.378374] Initializing CPU#1
> [14316256.461707] Calibrating delay using timer specific routine.. 5131.29 BogoMIPS (lpj=8549273)
> [14316256.461707] CPU: L1 I cache: 32K, L1 D cache: 32K
> [14316256.461707] CPU: L2 cache: 2048K
> [14316256.461707] CPU: Physical Processor ID: 0
> [14316256.461707] CPU: Processor Core ID: 1
> [14316256.461707] CPU1: Thermal monitoring enabled (TM2)
> [14316256.461707] Intel(R) Core(TM)2 CPU          6300  @ 1.86GHz stepping 06
> [14316256.461707] checking TSC synchronization [CPU#0 -> CPU#1]: passed.
> [14316256.468374] Brought up 2 CPUs
> [14316256.591707] migration_cost=3333
> [14316256.591707] BUG: at arch/x86_64/kernel/../../i386/kernel/sched-clock.c:175 init_sched_clock()
> [14316256.591707] 
> [14316256.591707] Call Trace:
> [14316256.591707]  [<ffffffff8025dae3>] dump_trace+0xb6/0x3d6
> [14316256.591707]  [<ffffffff8025de3f>] show_trace+0x3c/0x52
> [14316256.591707]  [<ffffffff8025de6a>] dump_stack+0x15/0x17
> [14316256.591707]  [<ffffffff805e24f9>] init_sched_clock+0x57/0x64
> [14316256.591707]  [<ffffffff805dc654>] kernel_init+0x167/0x2df
> [14316256.591707]  [<ffffffff80255978>] child_rip+0xa/0x12
> [14316256.591707] 
> [    0.370007] NET: Registered protocol family 16
> [    0.370103] ACPI: bus type pci registered
> [    0.370149] PCI: BIOS Bug: MCFG area at f0000000 is not E820-reserved
> [    0.370192] PCI: Not using MMCONFIG.
> [    0.370232] PCI: Using configuration type 1
> [    0.379163] ACPI: Interpreter enabled
> [    0.379204] ACPI: Using IOAPIC for interrupt routing
> [    0.386382] ACPI: PCI Root Bridge [PCI0] (0000:00)
> [    0.386815] PCI quirk: region 0800-087f claimed by ICH6 ACPI/GPIO/TCO
> [    0.386860] PCI quirk: region 0480-04bf claimed by ICH6 GPIO
> [    0.386938] 0000:00:1f.1: trying to change BAR0 from 0000 to 01F0
> [    0.386982] 0000:00:1f.1: trying to change BAR1 from 0000 to 03F4
> [    0.387026] 0000:00:1f.1: trying to change BAR2 from 0000 to 0170
> [    0.387069] 0000:00:1f.1: trying to change BAR3 from 0000 to 0374
> [    0.387575] PCI: Transparent bridge - 0000:00:1e.0
> [    0.390113] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 *11 12 14 15)
> [    0.390562] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 *7 10 11 12 14 15)
> [    0.391011] ACPI: PCI Interrupt Link [LNKC] (IRQs *3 4 5 6 7 10 11 12 14 15)
> [    0.391475] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 *10 11 12 14 15)
> [    0.391922] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 *5 6 7 10 11 12 14 15)
> [    0.392370] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 *11 12 14 15)
> [    0.392818] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 10 11 12 14 15)
> [    0.393265] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 *10 11 12 14 15)
> [    0.393688] Linux Plug and Play Support v0.97 (c) Adam Belay
> [    0.393738] pnp: PnP ACPI init
> [    0.393782] ACPI: bus type pnp registered
> [    0.396339] pnp: PnP ACPI: found 15 devices
> [    0.396381] ACPI: ACPI bus type pnp unregistered
> [    0.396529] SCSI subsystem initialized
> [    0.396613] PCI: Using ACPI for IRQ routing
> [    0.396654] PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report
> [    0.396774] PCI-GART: No AMD northbridge found.
> [    0.396817] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
> [    0.396963] hpet0: 3 64-bit timers, 14318180 Hz
> [    0.398059] pnp: 00:01: iomem range 0xfed13000-0xfed19fff has been reserved
> [    0.398108] pnp: 00:07: ioport range 0x290-0x297 has been reserved
> [    0.398155] pnp: 00:08: iomem range 0xfed1c000-0xfed1ffff has been reserved
> [    0.398200] pnp: 00:08: iomem range 0xfed20000-0xfed3ffff has been reserved
> [    0.398244] pnp: 00:08: iomem range 0xfed: iomem range 0xffb00000-0xffbfffff could not be reserved
> [    0.398347] pnp: 00:0b: iomem range 0xfec00000-0xfec00fff has been reserved
> [    0.398393] pnp: 00:0b: iomem range 0xfee00000-0xfee00fff could not be reserved
> [    0.398451] pnp: 00:0d: iome0-0x9ffff could not be reserved
> [    0.398542] pnp: 00:0e: iomem range 0xc0000-0xdffff has been reserved
> [    0.398586] pnp: bled.
> [    0.398942]   MEM window: faa00000-feafffff
> [    0.398983]   PREFETCH window: cff00000-efefffff
> [    0.399025] PCI:
> [    0.399147]   PREFETCH window: cfe00000-cfefffff
> [    0.399191] PCI: Bridge: 0000:00:1c.3
> [    0.399231]   IO window: c00
> [    0.399358] PCI: Bridge: 0000:00:1e.0
> [    0.399398]   IO window: b000-bfff
> [    0.399440]   MEM window: fa700000-fa8ffff-> IRQ 16
> [    0.399719] ACPI: PCI Interrupt 0000:00:1c.3[D] -> GSI 19 (level, low) -> IRQ 19
> [    0.399825] NET: Registered protocol family 2
> [    0.401113] Time: tsc clocksource has been installed.
> [    0.444654] IP route cache hash table entries: 2 (order: 9, 3145728 bytes)
> [    0.445966] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
> [    0.446496] TCP: H681707] audit: initializing netlink socket (disabled)
> [14316256.681707] audit(1177416960.456:1): initialized
> [14316256.681707ign_interrupt_mode Found MSI capability
> [14316256.705040] input: Power Button (FF) as /class/input/input0
> [14316256.705040] ACPI: Power Button (FF) [PWRF]
> [14316256.705040] input: Power Button (CM) as /class/input/input1
> [14316256.705040] ACPI: Power table [OEMB] -  00, should be F7 [20070126]
> [14316256.705040] ACPI Error (psparse-0537): Method parse/execution failed [\_PR_s Serialized
> [14316256.705040] ACPI Error (psparse-0537): Method parse/execution failed [\_PR_.CPU1._PDC] (Node ffff810002057bCPI: Processor [CPU1] (supports 8 throttling states)
> [14316256.705040] ACPI Error (psparse-0537): Method parse/execution faile(Node ffff810002057a30), AE_ALREADY_EXISTS
> [14316256.705040] ACPI: Marking method _PDC as Serialized
> [14316256.705040] ACPI: 4316256.708374] intel_rng: FWH not detected
> [14316256.708374] Linux agpgart interface v0.102 (c) Dave Jones
> [14316256.708374] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
> [14316256.708374] 00:0c: ttyS0 at I/O 0x3f8 (irq =  low) -> IRQ 22
> [14316258.065040] scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 7.0
> [14316258.065040]         <Adaptec 2940 Ultra2 SCSI adapter>
> [14316258.065040]         aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
> [14316258.065040] 
> [14316258.088374] ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 23 (level, low) -> IRQ 23
> [    2.131675] scsi 0:0:1:0: Direct-Access     IBM-PCCO ST39102LC     !# B219 PQ: 0 ANSI: 2
> [    2.139821] scsi0:A:1:0: Tagged Queuing enabled.  Depth 8
> [    2.145306]  target0:0:1: Beginning Domain Validation
> [    2.156823]  target0:0:1: wide asynchronous
> [    2.165751]  target0:0:1: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 15)
> [    2.176992]  target0:0:1: Domain Validation skipping write tests
> [    2.183054]  target0:0:1: Ending Domain Validation
> [    2.190882] scsi 0:0:2:0: Direct-Access     SGI      SEAGATE ST39102L 2702 PQ: 0 ANSI: 2
> [    2.199011] scsi0:A:2:0: Tagged Queuing enabled.  Depth 8
> [    2.204513]  target0:0:2: Beginning Domain Validation
> [    2.214897]  target0:0:2: wide asynchronous
> [    2.223011]  target0:0:2: FAST-40 WIDE SCSI 80.0 MB/s ST (25 ns, offset 15)
> [    2.233459]  target0:0:2: Domain Validation skipping write tests
> [    2.239500]  target0:0:2: Ending Domain Validation
> [14316259.098373] ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0xf impl SATA mode
> [14316259.105040] ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part 
> [    2.923144] Unable to handle kernel NULL pointer dereference at 0000000000000058 RIP: 
> [    2.928657]  [<ffffffff803ae98b>] scsi_schedule_eh+0xa/0x57
> [    2.936805] PGD 0 
> [    2.938896] Oops: 0000 [1] SMP 
> [    2.942163] CPU 0 
> [    2.944250] Modules linked in:
> [    2.947394] Pid: 0, comm: swapper Tainted: G      D 2.6.21-rc7-mm1 #1
> [    2.953862] RIP: 0010:[<ffffffff803ae98b>]  [<ffffffff803ae98b>] scsi_schedule_eh+0xa/0x57
> [    2.962210] RSP: 0000:ffffffff80615e28  EFLAGS: 00010206
> [    2.967557] RAX: ffffffff80479b60 RBX: 0000000000000000 RCX: 0000000004050000
> [    2.974730] RDX: 000000000000001b RSI: ffffffffffffffe5 RDI: 0000000000000000
> [    2.981892] RBP: ffffffff80615e38 R08: 00000000ffffffff R09: 0000000000000030
> [    2.989072] R10: 0000000000000000 R11: 0000000000000000 R12: ffff810002f5c000
> [    2.996252] R13: 0000000000000020 R14: 0000000000000000 R15: 0000000000000000
> [    3.003433] FS:  0000000000000000(0000) GS:ffffffff805c2000(0000) knlGS:0000000000000000
> [    3.011570] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
> [    3.017351] CR2: 0000000000000058 CR3: 0000000000201000 CR4: 00000000000006e0
> [    3.024518] Process swapper (pid: 0, threadinfo ffffffff805d2000, task ffffffff80589380)
> [    3.032661] Stack:  ffff810002f5c000 ffff810002f5c000 ffffffff80615e58 ffffffff803e1e01
> [    3.040930]  ffffffff80615e78 ffff810002f5e9e0 ffffffff80615e88 ffffffff803e1ea7
> [    3.048552]  000000000000002e ffff810002f5c000 ffff810002f5c000 0000000000400040
> [    3.055950] Call Trace:
> [    3.058672]  [<ffffffff803e1e01>] ata_port_schedule_eh+0x4c/0x50
> [    3.064725]  [<ffffffff803e1ea7>] ata_port_abort+0xa2/0xae
> [    3.070248]  [<ffffffff803e1ef9>] ata_port_freeze+0x46/0x57
> [    3.075853]  [<ffffffff803e4c39>] ahci_interrupt+0x300/0x47a
> [    3.081552]  [<ffffffff8020eb83>] handle_IRQ_event+0x27/0x57
> [    3.087253]  [<ffffffff8029a021>] handle_edge_irq+0xee/0x133
> [    3.092960]  [<ffffffff8025f4e1>] do_IRQ+0x6d/0xd5
> [    3.097793]  [<ffffffff80255071>] ret_from_intr+0x0/0xa
> [    3.103059]  [<ffffffff8024e88b>] mwait_idle+0x46/0x4b
> [    3.108231]  [<ffffffff802422f4>] cpu_idle+0x87/0xaa
> [    3.113227]  [<ffffffff8025c988>] rest_init+0x49/0x4b
> [    3.118322]  [<ffffffff805dca5d>] start_kernel+0x291/0x29c
> [    3.123837]  [<ffffffff805dc13a>] _sinittext+0x13a/0x141
> [    3.129199] 
> [    3.130726] 
> [    3.130726] Code: 48 8b 7f 58 e8 96 b0 ea ff be 05 00 00 00 48 89 df 49 89 c4 
> [    3.140452] RIP  [<ffffffff803ae98b>] scsi_schedule_eh+0xa/0x57
> [    3.146449]  RSP <ffffffff80615e28>
> [    3.149975] CR2: 0000000000000058
> [    3.153408] Kernel panic - not syncing: Aiee, killing interrupt handler!
> 
> 

So we took an AHCI interrupt when ata_port.scsi_host was still NULL.

It appears that ATA is presently requesting its IRQ before allocating all
the resources which are needed to handle an interrupt.  Does this
(resource-leaky) patch fix things?


--- a/drivers/ata/libata-core.c~ata-irq-registration-fix
+++ a/drivers/ata/libata-core.c
@@ -6413,15 +6413,12 @@ int ata_host_activate(struct ata_host *h
 	if (rc)
 		return rc;
 
-	rc = devm_request_irq(host->dev, irq, irq_handler, irq_flags,
-			      dev_driver_string(host->dev), host);
+	rc = ata_host_register(host, sht);
 	if (rc)
 		return rc;
 
-	rc = ata_host_register(host, sht);
-	/* if failed, just free the IRQ and leave ports alone */
-	if (rc)
-		devm_free_irq(host->dev, irq, host);
+	devm_request_irq(host->dev, irq, irq_handler, irq_flags,
+			      dev_driver_string(host->dev), host);
 
 	return rc;
 }
_

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ