summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-01-14 14:14:00 +0100
committerHeiko Carstens <heiko.carstens@de.ibm.com>2009-01-14 14:15:17 +0100
commitee6a093222549ac0c72cfd296c69fa5e7d6daa34 (patch)
tree8f1788edc08009b80ee299b843cdc7bf3ac4bcdc /include
parent[CVE-2009-0029] System call wrapper infrastructure (diff)
downloadlinux-ee6a093222549ac0c72cfd296c69fa5e7d6daa34.tar.xz
linux-ee6a093222549ac0c72cfd296c69fa5e7d6daa34.zip
[CVE-2009-0029] powerpc: Enable syscall wrappers for 64-bit
This enables the use of syscall wrappers to do proper sign extension for 64-bit programs. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/syscalls.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
index 0bb537d7ba2e..90aa5eba87a2 100644
--- a/include/linux/syscalls.h
+++ b/include/linux/syscalls.h
@@ -103,8 +103,14 @@ struct old_linux_dirent;
#define SYSCALL_DEFINE5(...) SYSCALL_DEFINEx(5, __VA_ARGS__)
#define SYSCALL_DEFINE6(...) SYSCALL_DEFINEx(6, __VA_ARGS__)
+#ifdef CONFIG_PPC64
+#define SYSCALL_ALIAS(alias, name) \
+ asm ("\t.globl " #alias "\n\t.set " #alias ", " #name "\n" \
+ "\t.globl ." #alias "\n\t.set ." #alias ", ." #name)
+#else
#define SYSCALL_ALIAS(alias, name) \
asm ("\t.globl " #alias "\n\t.set " #alias ", " #name)
+#endif
#ifdef CONFIG_HAVE_SYSCALL_WRAPPERS