From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964989AbWDDD3c (ORCPT ); Mon, 3 Apr 2006 23:29:32 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S964990AbWDDD3c (ORCPT ); Mon, 3 Apr 2006 23:29:32 -0400 Received: from smtp.osdl.org ([65.172.181.4]:36321 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S964989AbWDDD3b (ORCPT ); Mon, 3 Apr 2006 23:29:31 -0400 Date: Mon, 3 Apr 2006 20:25:39 -0700 From: Andrew Morton To: Ralf Hildebrandt Cc: linux-kernel@vger.kernel.org, Jacob Shin , Dave Jones Subject: Re: Linux 2.6.17-rc1 Message-Id: <20060403202539.65cf6e33.akpm@osdl.org> In-Reply-To: <20060403190915.GA10584@charite.de> References: <20060403180207.E849EE007A12@knarzkiste.dyndns.org> <20060403190915.GA10584@charite.de> X-Mailer: Sylpheed version 1.0.4 (GTK+ 1.2.10; i386-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Ralf Hildebrandt wrote: > > * Linus Torvalds : > > > > 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: powernowk8_cpu_exit+0x26/0x50 [powernow_k8] cpufreq_remove_dev+0xb2/0x120 > > Apr 3 19:52:58 knarzkiste kernel: sysdev_driver_unregister+0x67/0x80 cpufreq_unregister_driver+0x25/0x60 > > Apr 3 19:52:58 knarzkiste kernel: sys_delete_module+0x146/0x1c0 remove_vma+0x39/0x50 > > Apr 3 19:52:58 knarzkiste kernel: do_munmap+0x198/0x1f0 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); _