linux/arch/i386/kernel
Chris Wright d34fda4a84 x86: properly initialize temp insn buffer for paravirt patching
With commit ab144f5ec6 the patching code
now collects the complete new instruction stream into a temp buffer
before finally patching in the new insns.  In some cases the paravirt
patchers will choose to leave the patch site unpatched (length mismatch,
clobbers mismatch, etc).

This causes the new patching code to copy an uninitialized temp buffer,
i.e.  garbage, to the callsite.  Simply make sure to always initialize
the buffer with the original instruction stream.  A better fix is to
audit all the patchers and return proper length so that apply_paravirt()
can skip copies when we leave the patch site untouched.

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-18 15:15:54 -07:00
..
acpi ACPI: restore CONFIG_ACPI_SLEEP 2007-07-29 16:53:59 -07:00
cpu Pull processor into release branch 2007-08-12 00:21:08 -04:00
.gitignore [PATCH] x86: gitignore some autogenerated files for i386 2006-02-14 16:09:35 -08:00
Makefile revert "x86, serial: convert legacy COM ports to platform devices" 2007-07-31 15:39:38 -07:00
alternative.c x86: properly initialize temp insn buffer for paravirt patching 2007-08-18 15:15:54 -07:00
apic.c x86_64: Fix to keep watchdog disabled by default for i386/x86_64 2007-08-18 10:25:25 -07:00
apm.c arch/i386/kernel/apm.c: apm_init() warning fix 2007-07-31 15:39:39 -07:00
asm-offsets.c lguest: the asm offsets 2007-07-19 10:04:52 -07:00
bootflag.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cpuid.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
crash.c move die notifier handling to common code 2007-05-08 11:15:04 -07:00
crash_dump.c [PATCH] kdump: read previous kernel's memory 2006-01-10 08:01:28 -08:00
doublefault.c i386: Fix double fault handler 2007-08-11 15:58:14 -07:00
e820.c Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION 2007-07-29 16:45:38 -07:00
early_printk.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
efi.c arch/i386/* fs/* ipc/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
efi_stub.S [PATCH] x86: remove unused include from efi_stub.S 2006-09-26 08:48:56 -07:00
entry.S i386: fixup TRACE_IRQ breakage 2007-07-18 12:09:01 -07:00
geode.c i386: basic infrastructure support for AMD geode-class machines 2007-07-21 18:37:14 -07:00
head.S i386: Fix start_kernel warning 2007-08-11 15:58:14 -07:00
hpet.c i386: hpet assumes boot cpu is 0 2007-07-21 18:37:14 -07:00
i386_ksyms.c [PATCH] i386: Convert PDA into the percpu section 2007-05-02 19:27:16 +02:00
i387.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
i8237.c [PATCH] mmc (mainly): add "or later" clause to licence statement. 2006-10-01 00:39:23 -07:00
i8253.c i386: move PIT function declarations and constants to correct header file 2007-07-21 18:37:14 -07:00
i8259.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
init_task.c use the new percpu interface for shared data 2007-07-19 10:04:45 -07:00
io_apic.c genirq: mark io_apic level interrupts to avoid resend 2007-08-12 11:05:45 -07:00
ioport.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
irq.c i386: Update alignment when 4K stacks are used. 2007-07-21 18:37:14 -07:00
kprobes.c x86: Fix alternatives and kprobes to remap write-protected kernel text 2007-07-22 11:03:37 -07:00
ldt.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
machine_kexec.c [PATCH] i386: Avoid overwriting the current pgd (V4, i386) 2006-09-26 10:52:38 +02:00
mca.c [PATCH] i386: replace kmalloc+memset with kzalloc 2006-12-07 02:14:19 +01:00
microcode.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
module.c [PATCH] Generic BUG for i386 2006-12-08 08:28:39 -08:00
mpparse.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
msr.c Add suspend-related notifications for CPU hotplug 2007-05-09 12:30:56 -07:00
nmi.c x86_64: Fix to keep watchdog disabled by default for i386/x86_64 2007-08-18 10:25:25 -07:00
numaq.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
paravirt.c i386: Make patching more robust, fix paravirt issue 2007-08-11 15:58:13 -07:00
pci-dma.c x86: Disable DAC on VIA bridges 2007-06-20 14:27:25 -07:00
pcspeaker.c [PATCH] x86: Unify pcspeaker platform device code between i386/x86-64 2007-02-13 13:26:26 +01:00
process.c x86: Make Alt-SysRq-p display the debug register contents 2007-07-21 18:37:10 -07:00
ptrace.c Handle bogus %cs selector in single-step instruction decoding 2007-07-18 12:09:01 -07:00
quirks.c Clean up E7520/7320/7525 quirk printk. 2007-07-07 13:53:13 -07:00
reboot.c i386: DMI_MATCH patch in reboot.c for SFF Dell OptiPlex 745 - fixes hang on reboot 2007-07-21 18:37:12 -07:00
reboot_fixups.c GEODE: reboot fixup for geode machines with CS5536 boards 2007-07-06 11:45:11 -07:00
relocate_kernel.S [PATCH] i386: Avoid overwriting the current pgd (V4, i386) 2006-09-26 10:52:38 +02:00
scx200.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
setup.c ACPI: restore CONFIG_ACPI_SLEEP 2007-07-29 16:53:59 -07:00
sigframe.h [PATCH] __user annotations for pointers in i386 sigframe 2005-09-09 10:31:59 -07:00
signal.c x86: i386-show-unhandled-signals-v3 2007-07-22 11:03:37 -07:00
smp.c paravirt: unstatic leave_mm 2007-07-18 08:47:41 -07:00
smpboot.c i386: Fix cpu_llc_id section mismatch warning 2007-07-22 11:03:37 -07:00
smpcommon.c i386: Allow smp_call_function_single() to current cpu 2007-07-16 12:05:50 +03:00
srat.c ACPI: build fix for IBM x440 - CONFIG_X86_SUMMIT 2007-02-02 21:47:33 -05:00
summit.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_i386.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
syscall_table.S sys_fallocate() implementation on i386, x86_64 and powerpc 2007-07-17 21:42:44 -04:00
sysenter.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
time.c NTP: move the cmos update code into ntp.c 2007-07-21 17:49:15 -07:00
topology.c Replace remaining references to "driverfs" with "sysfs". 2007-02-17 19:13:42 +01:00
trampoline.S [PATCH] i386: Rename boot_gdt_table to boot_gdt 2007-05-02 19:27:10 +02:00
traps.c x86: Stop MCEs and NMIs during code patching 2007-07-22 11:03:37 -07:00
tsc.c lguest: the host code 2007-07-19 10:04:52 -07:00
tsc_sync.c [PATCH] x86: rewrite SMP TSC sync code 2007-02-16 08:13:57 -08:00
vm86.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
vmi.c i386: Make patching more robust, fix paravirt issue 2007-08-11 15:58:13 -07:00
vmiclock.c i386: move PIT function declarations and constants to correct header file 2007-07-21 18:37:14 -07:00
vmlinux.lds.S i386: Put allocated ELF notes in read-only data segment 2007-07-19 10:04:47 -07:00
vsyscall-int80.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vsyscall-note.S xen: disable vdso "nosegneg" on native boot 2007-07-20 08:44:19 -07:00
vsyscall-sigreturn.S [PATCH] Mark unwind info for signal trampolines in vDSOs 2006-03-31 12:18:52 -08:00
vsyscall-sysenter.S [PATCH] vdso: randomize the i386 vDSO by moving it into a vma 2006-06-27 17:32:38 -07:00
vsyscall.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vsyscall.lds.S [PATCH] i386: VDSO_PRELINK warning fix 2007-05-02 19:27:09 +02:00