aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/compat.h
diff options
context:
space:
mode:
authorDeepa Dinamani <deepa.kernel@gmail.com>2018-03-13 21:03:24 -0700
committerArnd Bergmann <arnd@arndb.de>2018-04-19 13:28:04 +0200
commit5055c67760df8e13c68f73b8534d5792d1d36543 (patch)
tree65b0670c18b7e257a481d659e97ebecaea6c5f30 /include/linux/compat.h
parentLinux 4.17-rc1 (diff)
downloadlinux-dev-5055c67760df8e13c68f73b8534d5792d1d36543.tar.xz
linux-dev-5055c67760df8e13c68f73b8534d5792d1d36543.zip
compat: Make compat helpers independent of CONFIG_COMPAT
Many of the compat time syscalls are also repurposed as 32 bit native syscalls to provide backward compatibility while adding new y2038 safe sycalls. Enabling the helpers makes this possible. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/compat.h')
-rw-r--r--include/linux/compat.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h
index 081281ad5772..3f35f4cfb98d 100644
--- a/include/linux/compat.h
+++ b/include/linux/compat.h
@@ -8,8 +8,6 @@
#include <linux/types.h>
-#ifdef CONFIG_COMPAT
-
#include <linux/stat.h>
#include <linux/param.h> /* for HZ */
#include <linux/sem.h>
@@ -20,9 +18,11 @@
#include <linux/uaccess.h>
#include <linux/unistd.h>
+#ifdef CONFIG_COMPAT
#include <asm/compat.h>
#include <asm/siginfo.h>
#include <asm/signal.h>
+#endif
#ifdef CONFIG_ARCH_HAS_SYSCALL_WRAPPER
/*
@@ -83,6 +83,8 @@
static inline long __do_compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))
#endif /* COMPAT_SYSCALL_DEFINEx */
+#ifdef CONFIG_COMPAT
+
#ifndef compat_user_stack_pointer
#define compat_user_stack_pointer() current_user_stack_pointer()
#endif
@@ -1016,7 +1018,9 @@ static inline struct compat_timeval ns_to_compat_timeval(s64 nsec)
#else /* !CONFIG_COMPAT */
#define is_compat_task() (0)
+#ifndef in_compat_syscall
static inline bool in_compat_syscall(void) { return false; }
+#endif
#endif /* CONFIG_COMPAT */