linux/arch/x86_64/lib
Petr Vandrovec b8d3f2448b Do not replace whole memcpy in apply alternatives
apply_alternatives uses memcpy() to apply alternatives.  Which has the
unfortunate effect that while applying memcpy alternative to memcpy
itself it tries to overwrite itself with nops - which causes #UD fault
as it overwrites half of an instruction in copy loop, and from this
point on only possible outcome is triplefault and reboot.

So let's overwrite only first two instructions of memcpy - as long as
the main memcpy loop is not in first two bytes it will work fine.

Signed-off-by: Petr Vandrovec <petr@vandrovec.name>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-12 01:42:37 -07:00
..
Makefile Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq 2007-02-26 14:17:50 -08:00
bitops.c [PATCH] x86-64: bitops fix for -Os 2005-11-02 19:41:32 -08:00
bitstr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
clear_page.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
copy_page.S Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
copy_user.S [PATCH] Fix zeroing on exception in copy_*_user 2006-09-26 10:52:39 +02:00
copy_user_nocache.S [PATCH] x86-64: Add __copy_from_user_nocache 2007-02-13 13:26:19 +01:00
csum-copy.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
csum-partial.c [PATCH] x86-64: Don't force inlining of do_csum 2006-12-07 02:14:07 +01:00
csum-wrappers.c [NET]: X86_64 checksum annotations and cleanups. 2006-12-02 21:23:14 -08:00
delay.c [PATCH] x86-64: Make x86_64 udelay() round up instead of down. 2006-12-07 02:14:07 +01:00
getuser.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
io.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iomap_copy.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
memcpy.S Do not replace whole memcpy in apply alternatives 2007-08-12 01:42:37 -07:00
memmove.c [PATCH] x86_64: Minor string functions optimizations 2006-06-26 10:48:22 -07:00
memset.S Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
msr-on-cpu.c rdmsr_on_cpu, wrmsr_on_cpu 2007-02-20 14:23:43 -05:00
putuser.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
rwlock.S [PATCH] Clean up read write lock assembly 2006-09-26 10:52:28 +02:00
thunk.S Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
usercopy.c [PATCH] x86_64: Minor string functions optimizations 2006-06-26 10:48:22 -07:00