1
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
..
bitops.c
bitstr.c
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_nocache.S [PATCH] x86-64: Add __copy_from_user_nocache 2007-02-13 13:26:19 +01:00
copy_user.S [PATCH] Fix zeroing on exception in copy_*_user 2006-09-26 10:52:39 +02: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
iomap_copy.S [PATCH] annotate arch/x86_64/lib/*.S 2006-09-26 10:52:32 +02:00
Makefile Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq 2007-02-26 14:17:50 -08:00
memcpy.S Do not replace whole memcpy in apply alternatives 2007-08-12 01:42:37 -07:00
memmove.c
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