[PATCH v3 01/10] compat: Make compat helpers independent of CONFIG_COMPAT

Deepa Dinamani
2018-01-16T02:19:02Z

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>
---
include/linux/compat.h | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/linux/compat.h b/include/linux/compat.h
index 0fc36406f32c..b24aaf66feb4 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>
@@ -19,9 +17,11 @@
#include <linux/aio_abi.h> /* for aio_context_t */
#include <linux/unistd.h>

+#ifdef CONFIG_COMPAT
#include <asm/compat.h>
#include <asm/siginfo.h>
#include <asm/signal.h>
+#endif

#ifndef COMPAT_USE_64BIT_TIME
#define COMPAT_USE_64BIT_TIME 0
@@ -58,6 +58,8 @@
} \
static inline long C_SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__))

+#ifdef CONFIG_COMPAT
+
#ifndef compat_user_stack_pointer
#define compat_user_stack_pointer() current_user_stack_pointer()
#endif
@@ -771,7 +773,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 */

--
2.14.1