Re: Linux 2.6.17-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ralf Hildebrandt <[email protected]> wrote:
>
> * Linus Torvalds <[email protected]>:
> > 
> > Ok, 
> >  it's two weeks since 2.6.16, and the merge window is closed.
> 
> loading an unloading the powernow-k8 modules causes an EIP:
> 
> % modprobe powernow_k8
> 
> > Apr  3 19:52:32 knarzkiste kernel: powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.60.1)
> > Apr  3 19:52:32 knarzkiste kernel: powernow-k8:    0 : fid 0x0 (800 MHz), vid 0x12 (1100 mV)
> > Apr  3 19:52:32 knarzkiste kernel: powernow-k8:    1 : fid 0x8 (1600 MHz), vid 0x4 (1450 mV)
> > Apr  3 19:52:32 knarzkiste kernel: cpu_init done, current fid 0x8, vid 0x2
> > Apr  3 19:52:32 knarzkiste kernel: powernow-k8: ph2 null fid transition 0x8
> 
> % rmmod powernow_k8
> 
> > Apr  3 19:52:58 knarzkiste kernel: BUG: unable to handle kernel NULL pointer dereference at virtual address 0000002c
> > Apr  3 19:52:58 knarzkiste kernel:  printing eip:
> > Apr  3 19:52:58 knarzkiste kernel: ded6db09
> > Apr  3 19:52:58 knarzkiste kernel: *pde = 00000000
> > Apr  3 19:52:58 knarzkiste kernel: Oops: 0000 [#1]
> > Apr  3 19:52:58 knarzkiste kernel: PREEMPT
> > Apr  3 19:52:58 knarzkiste kernel: Modules linked in: powernow_k8 freq_table thermal fan button processor ac battery af_packet ide_scsi sata_sil libata scsi_mod eeprom saa7134_dvb mt352 saa7134 compat_ioctl32 v4l2_common v4l1_compat ir_kbd_i2c ir_common videodev video_buf_dvb dvb_core video_buf nxt200x dvb_pll tda1004x usbhid usbmouse pcmcia firmware_class tsdev 8250_pci 8250 serial_core 8139too evdev psmouse yenta_socket rsrc_nonstatic pcmcia_core ehci_hcd ohci_hcd snd_atiixp_modem snd_atiixp usbcore ide_cd snd_ac97_codec snd_ac97_bus ati_agp agpgart snd_pcm snd_timer snd soundcore snd_page_alloc cdrom unix
> > Apr  3 19:52:58 knarzkiste kernel: CPU:    0
> > Apr  3 19:52:58 knarzkiste kernel: EIP:    0060:[pg0+513383177/1069720576]    Not tainted VLI
> > Apr  3 19:52:58 knarzkiste kernel: EFLAGS: 00010286   (2.6.17-rc1 #1)
> > Apr  3 19:52:58 knarzkiste kernel: EIP is at acpi_processor_unregister_performance+0x1e/0x3e [processor]
> > Apr  3 19:52:58 knarzkiste kernel: eax: 00000000   ebx: dd1f5000   ecx: 00000001   edx: 00000000
> > Apr  3 19:52:58 knarzkiste kernel: esi: dca68980   edi: 00000286   ebp: dca68a0c   esp: dd002f1c
> > Apr  3 19:52:58 knarzkiste kernel: ds: 007b   es: 007b   ss: 0068
> > Apr  3 19:52:58 knarzkiste kernel: Process rmmod (pid: 4806, threadinfo=dd002000 task=ddd6f070)
> > Apr  3 19:52:58 knarzkiste kernel: Stack: <0>dc1d1640 ded684d6 dca68980 dca689a8 c0296582 c03adf88 c034ca50 c0349d9c
> > Apr  3 19:52:58 knarzkiste kernel:        c0349d80 c0274eb7 00000880 ded6a100 00000000 dd002000 c02953f5 c0136706
> > Apr  3 19:52:58 knarzkiste kernel:        65776f70 776f6e72 00386b5f da8999bc c0149d89 b7fa0000 dd62bac0 c014b198
> > Apr  3 19:52:58 knarzkiste kernel: Call Trace:
> > Apr  3 19:52:58 knarzkiste kernel:  <ded684d6> powernowk8_cpu_exit+0x26/0x50 [powernow_k8]   <c0296582> cpufreq_remove_dev+0xb2/0x120
> > Apr  3 19:52:58 knarzkiste kernel:  <c0274eb7> sysdev_driver_unregister+0x67/0x80   <c02953f5> cpufreq_unregister_driver+0x25/0x60
> > Apr  3 19:52:58 knarzkiste kernel:  <c0136706> sys_delete_module+0x146/0x1c0   <c0149d89> remove_vma+0x39/0x50
> > Apr  3 19:52:58 knarzkiste kernel:  <c014b198> do_munmap+0x198/0x1f0   <c0102e93> sysenter_past_esp+0x54/0x75
> > Apr  3 19:52:58 knarzkiste kernel: Code: 01 00 00 31 c0 83 c4 2c 5b 5e 5f 5d c3 53 ff 0d e0 00 d7 de 0f 88 f8 01 00 00 8b 1c 95 8c 02 d7 de 85 db 74 18 8b 83 6c 02 00 00 <8b> 40 2c e8 ff 83 3e e1 c7 83 6c 02 00 00 00 00 00 00 ff 05 e0
> 

In acpi_processor_unregister_performance(), pr->performance is NULL.

Can you add the below?  It should tell us who forgot to register the
performance data, as well as working around the crash.


diff -puN drivers/acpi/processor_perflib.c~a drivers/acpi/processor_perflib.c
--- devel/drivers/acpi/processor_perflib.c~a	2006-04-03 20:23:55.000000000 -0700
+++ devel-akpm/drivers/acpi/processor_perflib.c	2006-04-03 20:24:46.000000000 -0700
@@ -577,6 +577,8 @@ acpi_processor_register_performance(stru
 		return_VALUE(-EBUSY);
 	}
 
+	WARN_ON(!performance);
+
 	pr->performance = performance;
 
 	if (acpi_processor_get_performance_info(pr)) {
@@ -609,7 +611,8 @@ acpi_processor_unregister_performance(st
 		return_VOID;
 	}
 
-	kfree(pr->performance->states);
+	if (pr->performance)
+		kfree(pr->performance->states);
 	pr->performance = NULL;
 
 	acpi_cpufreq_remove_file(pr);
_

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux