diff options
Diffstat (limited to 'main/linux-virt-grsec/0001-pax-x86_64-fix-copy_user_generic.patch')
-rw-r--r-- | main/linux-virt-grsec/0001-pax-x86_64-fix-copy_user_generic.patch | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/main/linux-virt-grsec/0001-pax-x86_64-fix-copy_user_generic.patch b/main/linux-virt-grsec/0001-pax-x86_64-fix-copy_user_generic.patch deleted file mode 100644 index da442aae39..0000000000 --- a/main/linux-virt-grsec/0001-pax-x86_64-fix-copy_user_generic.patch +++ /dev/null @@ -1,40 +0,0 @@ -From b8bf456d13988fb38cfe248676327f44a2d2ed2e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Wed, 23 Oct 2013 09:54:54 +0300 -Subject: [PATCH] pax: x86_64: fix copy_user_generic -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Pax patch removed r10 from clobbers list as all assembly code was -updated to not use it. However, in the error path the assembly code -ends up calling copy_user_handle_tail() C-function that can clobber -r10. This broke things for certain gcc optimizations (at least for gcc -4.8.x), as copy_user_generic() is inline function, and the inline -assembly incorrectly guaranteed not to clobber r10. - -Add r10 back to clobbers list like vanilla kernel has it. It is -needed always due to the possibly C-function call in error path. - -Signed-off-by: Timo Teräs <timo.teras@iki.f> -Acked-by: Natanael Copa <ncopa@alpinelinux.org> ---- - arch/x86/include/asm/uaccess_64.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/x86/include/asm/uaccess_64.h b/arch/x86/include/asm/uaccess_64.h -index 1dbe82f..9d398f4 100644 ---- a/arch/x86/include/asm/uaccess_64.h -+++ b/arch/x86/include/asm/uaccess_64.h -@@ -44,7 +44,7 @@ copy_user_generic(void *to, const void *from, unsigned len) - ASM_OUTPUT2("=a" (ret), "=D" (to), "=S" (from), - "=d" (len)), - "1" (to), "2" (from), "3" (len) -- : "memory", "rcx", "r8", "r9", "r11"); -+ : "memory", "rcx", "r8", "r9", "r10", "r11"); - return ret; - } - --- -1.8.4.1 - |