Debian Bug report logs -
#511703
Kernel panic
Reported by: Jörg Sommer <joerg@alea.gnuu.de>
Date: Tue, 13 Jan 2009 16:51:02 UTC
Severity: important
Merged with 515982
Found in version 2.6.26-12
Fixed in versions linux-2.6/2.6.30-7, linux-2.6/2.6.31-1~experimental.1, linux-2.6/2.6.26-20
Done: dann frazier <dannf@debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#511703; Package linux-image-2.6.26-1-486.
(Tue, 13 Jan 2009 16:51:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Jörg Sommer <joerg@alea.gnuu.de>:
New Bug report received and forwarded. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>.
(Tue, 13 Jan 2009 16:51:04 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
Package: linux-image-2.6.26-1-486
Version: 2.6.26-12
Severity: important
Hi,
I get this panic:
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.26-1-486 (Debian 2.6.26-12) (waldi@debian.org) (gcc version 4.1.3 20080704 (p8
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 000000000c000000 (usable)
[ 0.000000] BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
[ 0.000000] 192MB LOWMEM available.
[ 0.000000] Zone PFN ranges:
[ 0.000000] DMA 0 -> 4096
[ 0.000000] Normal 4096 -> 49152
[ 0.000000] Movable zone start PFN for each node
[ 0.000000] early_node_map[1] active PFN ranges
[ 0.000000] 0: 0 -> 49152
[ 0.000000] DMI not present or invalid.
[ 0.000000] ACPI Error (tbxfroot-0218): A valid RSDP was not found [20080321]
[ 0.000000] Allocating PCI resources starting at 10000000 (gap: 0c000000:f3ff0000)
[ 0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000f0000
[ 0.000000] PM: Registered nosave memory: 00000000000f0000 - 0000000000100000
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 48768
[ 0.000000] Kernel command line: auto BOOT_IMAGE=linux ro root=302 console=ttyS1,38400n8 parport=0x378,7,3
[ 0.000000] No local APIC present or hardware disabled
[ 0.000000] Initializing CPU#0
[ 0.000000] PID hash table entries: 1024 (order: 10, 4096 bytes)
[ 0.000000] Detected 133.638 MHz processor.
[ 0.004000] Console: colour dummy device 80x25
[ 0.004000] console [ttyS1] enabled
[ 0.004000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.004000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.004000] Memory: 184932k/196608k available (1694k kernel code, 11144k reserved, 745k data, 320k init, 0k)
[ 0.004000] virtual kernel memory layout:
[ 0.004000] fixmap : 0xfffb3000 - 0xfffff000 ( 304 kB)
[ 0.004000] vmalloc : 0xcc800000 - 0xfffb1000 ( 823 MB)
[ 0.004000] lowmem : 0xc0000000 - 0xcc000000 ( 192 MB)
[ 0.004000] .init : 0xc0364000 - 0xc03b4000 ( 320 kB)
[ 0.004000] .data : 0xc02a7ae3 - 0xc0362000 ( 745 kB)
[ 0.004000] .text : 0xc0100000 - 0xc02a7ae3 (1694 kB)
[ 0.004000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[ 0.086086] Calibrating delay using timer specific routine.. 268.57 BogoMIPS (lpj=537154)
[ 0.096006] Security Framework initialized
[ 0.100006] SELinux: Disabled at boot.
[ 0.104006] Capability LSM initialized
[ 0.108006] Mount-cache hash table entries: 512
[ 0.114204] Initializing cgroup subsys ns
[ 0.120007] Initializing cgroup subsys cpuacct
[ 0.124007] Initializing cgroup subsys devices
[ 0.128008] Disabling bugged TSC.
[ 0.132008] Centaur FCR was 0x410200 now 0x410382
[ 0.136008] CPU: Centaur WinChip C6 stepping 01
[ 0.147783] Checking 'hlt' instruction... OK.
[ 0.168010] BUG: unable to handle kernel NULL pointer dereference at 00000286
[ 0.179741] IP: [<c010797d>] text_poke_early+0x41/0x52
[ 0.188011] *pde = 00000000
[ 0.192012] Oops: 0002 [#1]
[ 0.192012] Modules linked in:
[ 0.192012]
[ 0.192012] Pid: 0, comm: swapper Not tainted (2.6.26-1-486 #1)
[ 0.192012] EIP: 0060:[<c010797d>] EFLAGS: 00010286 CPU: 0
[ 0.192012] EIP is at text_poke_early+0x41/0x52
[ 0.192012] EAX: 00000286 EBX: 0000000a ECX: 00000000 EDX: 00000286
[ 0.192012] ESI: c0363ee0 EDI: c010797f EBP: c0107975 ESP: c0363eb0
[ 0.192012] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
[ 0.192012] Process swapper (pid: 0, ti=c0362000 task=c033a320 task.ti=c0362000)
[ 0.192012] Stack: 00000286 00000000 c036a60e c03ab534 0000000a c0363ee0 c0363ed6 c0107a71
[ 0.192012] c03b21ac 9d508a90 26b48d90 00000000 000000b6 c01cdb00 c02241ed 00000004
[ 0.192012] 00000004 c03cd344 c01cdc13 00000086 c0408a90 00000060 00000046 c02235dc
[ 0.192012] Call Trace:
[ 0.192012] [<c036a60e>] native_init_IRQ+0x46/0x79
[ 0.192012] [<c0107a71>] apply_paravirt+0x81/0x91
[ 0.192012] [<c01cdb00>] csum_partial_copy_generic+0x40/0xe0
[ 0.192012] [<c02241ed>] serial8250_console_putchar+0x48/0x94
[ 0.192012] [<c01cdc13>] delay_tsc+0x29/0x4b
[ 0.192012] [<c02235dc>] serial8250_console_write+0x11d/0x125
[ 0.192012] [<c02234bf>] serial8250_console_write+0x0/0x125
[ 0.192012] [<c012c90e>] up+0x36/0x3a
[ 0.192012] [<c011bfa2>] release_console_sem+0x178/0x193
[ 0.192012] [<c011c3b2>] vprintk+0x269/0x275
[ 0.192012] [<c012c13f>] ktime_get+0xd/0x21
[ 0.192012] [<c013156d>] tick_nohz_stop_sched_tick+0x24f/0x259
[ 0.192012] [<c0105dcc>] do_IRQ+0x50/0x60
[ 0.192012] [<c0104763>] common_interrupt+0x23/0x30
[ 0.192012] [<c036b6e5>] alternative_instructions+0x23/0x3c
[ 0.192012] [<c036bf7a>] check_bugs+0xd2/0xd4
[ 0.192012] [<c03649bc>] start_kernel+0x271/0x27e
[ 0.192012] =======================
[ 0.192012] Code: 00 89 c2 fa 90 8d b4 26 00 00 00 00 90 89 c8 89 ef c1 e8 02 89 c1 f3 a5 89 d9 83 e1 03 74
[ 0.192012] EIP: [<c010797d>] text_poke_early+0x41/0x52 SS:ESP 0068:c0363eb0
[ 0.196232] ---[ end trace 4eaa2a86a8e2da22 ]---
[ 0.204012] Kernel panic - not syncing: Attempted to kill the idle task!
-- System Information:
Debian Release: 5.0
APT prefers testing
APT policy: (95, 'testing')
Architecture: i386 (i586)
Kernel: Linux 2.6.25-rc8
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/dash
Versions of packages linux-image-2.6.26-1-486 depends on:
ii debconf [debconf-2.0] 1.5.24 Debian configuration management sy
ii initramfs-tools [linux-initra 0.92o tools for generating an initramfs
ii module-init-tools 3.4-1 tools for managing Linux kernel mo
linux-image-2.6.26-1-486 recommends no packages.
Versions of packages linux-image-2.6.26-1-486 suggests:
ii lilo 1:22.8-7 LInux LOader - The Classic OS load
pn linux-doc-2.6.26 <none> (no description available)
-- debconf information:
shared/kernel-image/really-run-bootloader: true
linux-image-2.6.26-1-486/preinst/lilo-has-ramdisk:
linux-image-2.6.26-1-486/preinst/overwriting-modules-2.6.26-1-486: true
linux-image-2.6.26-1-486/preinst/abort-overwrite-2.6.26-1-486:
linux-image-2.6.26-1-486/postinst/old-system-map-link-2.6.26-1-486: true
linux-image-2.6.26-1-486/prerm/removing-running-kernel-2.6.26-1-486: true
linux-image-2.6.26-1-486/preinst/failed-to-move-modules-2.6.26-1-486:
linux-image-2.6.26-1-486/postinst/old-initrd-link-2.6.26-1-486: true
linux-image-2.6.26-1-486/preinst/abort-install-2.6.26-1-486:
linux-image-2.6.26-1-486/postinst/create-kimage-link-2.6.26-1-486: true
linux-image-2.6.26-1-486/postinst/bootloader-test-error-2.6.26-1-486:
* linux-image-2.6.26-1-486/preinst/bootloader-initrd-2.6.26-1-486: false
linux-image-2.6.26-1-486/preinst/elilo-initrd-2.6.26-1-486: true
linux-image-2.6.26-1-486/preinst/initrd-2.6.26-1-486:
linux-image-2.6.26-1-486/postinst/bootloader-error-2.6.26-1-486:
linux-image-2.6.26-1-486/preinst/lilo-initrd-2.6.26-1-486: true
linux-image-2.6.26-1-486/postinst/depmod-error-2.6.26-1-486: false
linux-image-2.6.26-1-486/postinst/kimage-is-a-directory:
linux-image-2.6.26-1-486/prerm/would-invalidate-boot-loader-2.6.26-1-486: true
linux-image-2.6.26-1-486/postinst/old-dir-initrd-link-2.6.26-1-486: true
linux-image-2.6.26-1-486/postinst/depmod-error-initrd-2.6.26-1-486: false
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#511703; Package linux-image-2.6.26-1-486.
(Tue, 07 Apr 2009 16:45:05 GMT) (full text, mbox, link).
Acknowledgement sent
to chad brabec <chadbrabec@gmail.com>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>.
(Tue, 07 Apr 2009 16:45:05 GMT) (full text, mbox, link).
Message #10 received at 511703@bugs.debian.org (full text, mbox, reply):
hello,
i'm having the same problem as this gentleman. i can't get a 2.6.24
or greater to boot. i end up with this trace-
[ 0.108006] BUG: unable to handle kernel NULL pointer dereference at 00000286
[ 0.120007] IP: [<c010797d>] text_poke_early+0x41/0x52
[ 0.132008] Oops: 0000 [#1]
[ 0.132008] Modules linked in:
[ 0.132008]
[ 0.132008] Pid: 0, comm: swapper Not tainted (2.6.26-1-486 #1)
[ 0.132008] EIP: 0060:[<c010797d>] EFLAGS: 00010286 CPU: 0
[ 0.132008] EIP is at text_poke_early+0x41/0x52
[ 0.132008] EAX: 00000286 EBX: 0000000a ECX: 00000000 EDX: 00000286
[ 0.132008] ESI: c0363ee0 EDI: c010797f EBP: c0107975 ESP: c0363eb0
[ 0.132008] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
[ 0.132008] Process swapper (pid: 0, ti=c0362000 task=c033a320
task.ti=c0362000)
[ 0.132008] Stack: 00000286 00000000 c036a61e c03ab534 0000000a
c0363ee0 c0363ed6 c0107a71
[ 0.132008] c03b21ac 9d500000 26b48d90 00000000 000000b6
00000000 00000046 c012d2ea
[ 0.132008] 00000086 c012a5a6 00000302 00000000 00000000
c03edb40 066ff300 00000000
[ 0.132008] Call Trace:
[ 0.132008] [<c036a61e>] native_init_IRQ+0x46/0x79
[ 0.132008] [<c0107a71>] apply_paravirt+0x81/0x91
[ 0.132008] [<c012d2ea>] __update_sched_clock+0x50/0x116
[ 0.132008] [<c012a5a6>] run_posix_cpu_timers+0x1d/0x726
[ 0.132008] [<c011978a>] task_tick_fair+0x15/0x6a
[ 0.132008] [<c012c90e>] up+0x36/0x3a
[ 0.132008] [<c011bfa2>] release_console_sem+0x178/0x193
[ 0.132008] [<c011c3b2>] vprintk+0x269/0x275
[ 0.132008] [<c012c13f>] ktime_get+0xd/0x21
[ 0.132008] [<c013156d>] tick_nohz_stop_sched_tick+0x24f/0x259
[ 0.132008] [<c0105dcc>] do_IRQ+0x50/0x60
[ 0.132008] [<c0104763>] common_interrupt+0x23/0x30
[ 0.132008] [<c036b6f5>] alternative_instructions+0x23/0x3c
[ 0.132008] [<c036bf8a>] check_bugs+0xd2/0xd4
[ 0.132008] [<c03649bc>] start_kernel+0x271/0x27e
[ 0.132008] =======================
[ 0.132008] Code: 00 89 c2 fa 90 8d b4 26 00 00 00 00 90 89 c8 89
ef c1 e8 02 89 c1 f3 a5 89 d9 83 e1 03 74 02 f3 a4 89 d0 50 9d 90 8d
b4 26 00 00 <00>
[ 0.132008] EIP: [<c010797d>] text_poke_early+0x41/0x52 SS:ESP 0068:c0363eb0
[ 0.140008] ---[ end trace 4eaa2a86a8e2da22 ]---
[ 0.144009] Kernel panic - not syncing: Attempted to kill the idle task!
that's for one kernel here's another-
[ 0.108000] BUG: unable to handle kernel NULL pointer dereference at 00000282
[ 0.120000] IP: [<c0106c3f>] text_poke_early+0x3e/0x4e
[ 0.128000] Oops: 0000 [#1]
[ 0.128000] last sysfs file:
[ 0.128000] Modules linked in:
[ 0.128000]
[ 0.128000] Pid: 0, comm: swapper Not tainted (2.6.29-1-486 #1)
[ 0.128000] EIP: 0060:[<c0106c3f>] EFLAGS: 00010282 CPU: 0
[ 0.128000] EIP is at text_poke_early+0x3e/0x4e
[ 0.128000] EAX: 00000282 EBX: 0000000a ECX: 00000000 EDX: 00000282
[ 0.128000] ESI: c03b3ee0 EDI: c0106c41 EBP: c0106c37 ESP: c03b3eb4
[ 0.128000] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
[ 0.128000] Process swapper (pid: 0, ti=c03b2000 task=c037f38c
task.ti=c03b2000)
[ 0.128000] Stack:
[ 0.128000] 00000282 00000000 c040d72c 0000000a c03b3ee0 c03b3ed6
c0106d0c c041481c
[ 0.128000] 9d500000 26b48d90 00000000 000000b6 00000000 c0132b80
00000002 00000086
[ 0.128000] c012cd2b 00005e04 066ff6be 00000000 066ff6be c0429698
066ff300 00000000
[ 0.128000] Call Trace:
[ 0.128000] [<c0106d0c>] apply_paravirt+0x80/0x90
[ 0.128000] [<c0132b80>] clocksource_get_next+0x41/0x49
[ 0.128000] [<c012cd2b>] run_posix_cpu_timers+0x1d/0x6f9
[ 0.128000] [<c013214c>] getnstimeofday+0x4c/0xc7
[ 0.128000] [<c012fab7>] __update_sched_clock+0x1d/0x11c
[ 0.128000] [<c012f023>] up+0x36/0x3a
[ 0.128000] [<c011e06c>] release_console_sem+0x178/0x19e
[ 0.128000] [<c011e461>] vprintk+0x220/0x22c
[ 0.128000] [<c0104c4e>] do_IRQ+0x52/0x64
[ 0.128000] [<c0103a27>] common_interrupt+0x27/0x30
[ 0.128000] [<c03bca0a>] alternative_instructions+0x23/0x3c
[ 0.128000] [<c03bd235>] check_bugs+0xd2/0xd4
[ 0.128000] [<c03b4919>] start_kernel+0x291/0x29e
[ 0.128000] Code: 00 89 c2 fa 90 8d b4 26 00 00 00 00 90 89 c8 89
ef c1 e8 02 89 c1 f3 a5 89 d9 83 e1 03 74 02 f3 a4 89 d0 50 9d 90 8d
b4 26 00 00 <00>
[ 0.128000] EIP: [<c0106c3f>] text_poke_early+0x3e/0x4e SS:ESP 0068:c03b3eb4
[ 0.132001] ---[ end trace 4eaa2a86a8e2da22 ]---
[ 0.136001] Kernel panic - not syncing: Attempted to kill the idle task!
i'm trying to get an old 4511 back up for testing. 64M ram, 4G cfcard
i had read somewhere else it might be a irq-read coming from the
kernel. if i drop this module will it then work?
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#511703; Package linux-image-2.6.26-1-486.
(Mon, 07 Sep 2009 19:57:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Richard Kettlewell <rjk@terraraq.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>.
(Mon, 07 Sep 2009 19:57:03 GMT) (full text, mbox, link).
Message #15 received at 511703@bugs.debian.org (full text, mbox, reply):
I saw the text_poke_early crash too, on a Soekris net4501, which uses an
AMD ElanSC520. The problem may or may not apply to other 486-class
hardware (some reports of the bug say it does).
The workaround is to specify noreplace-paravirt on the kernel command line.
If the bug does indeed affect all 486-class CPUs then it would be a good
idea to compile CONFIG_PARAVIRT out of the -486 kernels entirely, at
least until such time as the bug is fixed.
ttfn/rjk
Bug No longer marked as found in versions linux-2.6/2.6.26-12.
Request was from Ben Hutchings <ben@decadent.org.uk>
to control@bugs.debian.org.
(Tue, 08 Sep 2009 00:27:24 GMT) (full text, mbox, link).
Forcibly Merged 511703 515982.
Request was from Ben Hutchings <ben@decadent.org.uk>
to control@bugs.debian.org.
(Tue, 08 Sep 2009 00:27:25 GMT) (full text, mbox, link).
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#511703; Package linux-2.6.
(Tue, 08 Sep 2009 01:45:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Ben Hutchings <ben@decadent.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>.
(Tue, 08 Sep 2009 01:45:03 GMT) (full text, mbox, link).
Message #26 received at 511703@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Mon, 2009-09-07 at 20:43 +0100, Richard Kettlewell wrote:
> I saw the text_poke_early crash too, on a Soekris net4501, which uses an
> AMD ElanSC520. The problem may or may not apply to other 486-class
> hardware (some reports of the bug say it does).
>
> The workaround is to specify noreplace-paravirt on the kernel command line.
>
> If the bug does indeed affect all 486-class CPUs then it would be a good
> idea to compile CONFIG_PARAVIRT out of the -486 kernels entirely, at
> least until such time as the bug is fixed.
I'm not sure we can do that because the -486 kernel is used for
installation. Let's fix this properly.
Comparing the original code with the oops, we have:
void *text_poke_early(void *addr, const void *opcode, size_t len)
{
c010793c: 55 push %ebp
c010793d: 89 c5 mov %eax,%ebp
c010793f: 57 push %edi
c0107940: 56 push %esi
c0107941: 89 d6 mov %edx,%esi
c0107943: 53 push %ebx
c0107944: 89 cb mov %ecx,%ebx
unsigned long flags;
c0107946: 83 ec 04 sub $0x4,%esp
local_irq_save(flags);
[original]
c0107949: 51 push %ecx
c010794a: 52 push %edx
c010794b: ff 15 dc 1d 34 c0 call *0xc0341ddc
c0107951: 5a pop %edx
c0107952: 59 pop %ecx
c0107953: 89 c2 mov %eax,%edx
[patched code not visible]
[original]
c0107955: 51 push %ecx
c0107956: 52 push %edx
c0107957: ff 15 e4 1d 34 c0 call *0xc0341de4
c010795d: 5a pop %edx
c010795e: 59 pop %ecx
[patched]
c0107955: fa cli
c0107956: 90 nop
c0107958: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
c010795e: 90 nop
memcpy(addr, opcode, len);
c010795f: 89 c8 mov %ecx,%eax
c0107961: 89 ef mov %ebp,%edi
c0107963: c1 e8 02 shr $0x2,%eax
c0107966: 89 c1 mov %eax,%ecx
c0107968: f3 a5 rep movsl %ds:(%esi),%es:(%edi)
c010796a: 89 d9 mov %ebx,%ecx
c010796c: 83 e1 03 and $0x3,%ecx
c010796f: 74 02 je 0xc0107973
c0107971: f3 a4 rep movsb %ds:(%esi),%es:(%edi)
c0107973: 89 d0 mov %edx,%eax
local_irq_restore(flags);
[original]
c0107975: 51 push %ecx
c0107976: 52 push %edx
c0107977: ff 15 e0 1d 34 c0 call *0xc0341de0
c010797d: 5a pop %edx
c010797e: 59 pop %ecx
[patched]
c0107975: 50 push %eax
c0107976: 9d popf
c0107977: 90 nop
c0107878: 8d b4 26 00 00 00 00 lea 0x0(%esi,%eiz,1),%esi
sync_core();
c010797f: b8 01 00 00 00 mov $0x1,%eax
c0107984: 0f a2 cpuid
}
c0107986: 5a pop %edx
c0107987: 89 e8 mov %ebp,%eax
c0107989: 5b pop %ebx
c010798a: 5e pop %esi
c010798b: 5f pop %edi
c010798c: 5d pop %ebp
c010798d: c3 ret
The crash occurs at c010797d. Presumably the original code is
prefetched and executed up to and including the call instruction, and
then the patched code is fetched after the local_irq_restore()
implementation returns.
I think we need to flush the prefetch buffer between memcpy() and
local_irq_restore(). According to Intel documentation, we can do this
on the i486 with a jmp instruction, and later processors flush the
prefetch buffer automatically when the corresponding memory is modified.
There is a further problem in that sync_core() uses "cpuid" which isn't
implemented by most 486-class processors, but that is easy to fix.
I don't have any 486-class systems to test this on, so perhaps you could
try this patch:
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -488,6 +488,9 @@
unsigned long flags;
local_irq_save(flags);
memcpy(addr, opcode, len);
+ /* Force 486-class processors to flush prefetched instructions,
+ since we may have just patched local_irq_restore(). */
+ asm volatile("jmp 1f\n1:\n" ::: "memory");
local_irq_restore(flags);
sync_core();
/* Could also do a CLFLUSH here to speed up CPU recovery; but
--- a/include/asm-x86/processor.h
+++ b/include/asm-x86/processor.h
@@ -698,6 +698,12 @@
{
int tmp;
+#if defined(CONFIG_M386) || defined(CONFIG_M486)
+ /* This is unnecessary on 386- and 486-class processors, most of
+ which don't even implement CPUID. */
+ if (boot_cpu_data.x86 < 5)
+ return;
+#endif
asm volatile("cpuid" : "=a" (tmp) : "0" (1)
: "ebx", "ecx", "edx", "memory");
}
--- END ---
Ben.
--
Ben Hutchings
Life is what happens to you while you're busy making other plans.
- John Lennon
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Debian Kernel Team <debian-kernel@lists.debian.org>:
Bug#511703; Package linux-2.6.
(Tue, 08 Sep 2009 22:27:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Richard Kettlewell <rjk@terraraq.org.uk>:
Extra info received and forwarded to list. Copy sent to Debian Kernel Team <debian-kernel@lists.debian.org>.
(Tue, 08 Sep 2009 22:27:04 GMT) (full text, mbox, link).
Message #31 received at 511703@bugs.debian.org (full text, mbox, reply):
Ben Hutchings wrote:
> I don't have any 486-class systems to test this on, so perhaps you could
> try this patch:
That works for me.
Booting 'Debian GNU/Linux, kernel 2.6.26-2-486-511703'
root (hd0,0)
Filesystem type is ext2fs, partition type
0x83 kernel
/boot/vmlinuz-2.6.26-2-486-511703 root=/dev/hda1 ro console=ttyS0,57600
n8
[Linux-bzImage, setup=0x3000, size=0x164590]
initrd /boot/initrd.img-2.6.26-2-486
[Linux-initrd @ 0x3d80000, 0x26fd3f bytes]
Probing EDD (edd=off to
disable)... ok
[...]
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Linux version 2.6.26 (2.6.26) (richard@leucomorph) (gcc
version 4.3.2 (Debian 4.3.2-1.1) ) #1 Tue Sep 8 11:31:50 BST 2009
[...]
[ 0.104006] CPU: AMD Am5x86-WB stepping 04
[ 0.112007] Checking 'hlt' instruction... OK.
[ 0.156009] Freeing SMP alternatives: 0k freed
[ 0.160010] ACPI: Core revision 20080321
[...]
ttfn/rjk
Added tag(s) pending.
Request was from Ben Hutchings <benh@alioth.debian.org>
to control@bugs.debian.org.
(Sun, 13 Sep 2009 18:12:15 GMT) (full text, mbox, link).
Added tag(s) pending.
Request was from Anibal Monsalve Salazar <anibal@debian.org>
to control@bugs.debian.org.
(Fri, 18 Sep 2009 08:39:28 GMT) (full text, mbox, link).
Added tag(s) pending.
Request was from Bastian Blank <waldi@alioth.debian.org>
to control@bugs.debian.org.
(Fri, 23 Oct 2009 16:51:19 GMT) (full text, mbox, link).
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Tue, 24 Nov 2009 07:26:58 GMT) (full text, mbox, link).
Send a report that this bug log contains spam.
Debian bug tracking system administrator <owner@bugs.debian.org>.
Last modified:
Tue Apr 6 06:48:10 2021;
Machine Name:
bembo
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson,
2005-2017 Don Armstrong, and many other contributors.