The patch titled Subject: compat: add in_compat_syscall to ask whether we're in a compat syscall has been added to the -mm tree. Its filename is compat-add-in_compat_syscall-to-ask-whether-were-in-a-compat-syscall.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/compat-add-in_compat_syscall-to-ask-whether-were-in-a-compat-syscall.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/compat-add-in_compat_syscall-to-ask-whether-were-in-a-compat-syscall.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andy Lutomirski <luto@xxxxxxxxxx> Subject: compat: add in_compat_syscall to ask whether we're in a compat syscall A lot of code currently abuses is_compat_task to determine this. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> Cc: Clemens Ladisch <clemens@xxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Jiri Kosina <jikos@xxxxxxxxxx> Cc: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> Cc: Neil Horman <nhorman@xxxxxxxxxxxxx> Cc: Oded Gabbay <oded.gabbay@xxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul Moore <paul@xxxxxxxxxxxxxx> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> Cc: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/compat.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff -puN include/linux/compat.h~compat-add-in_compat_syscall-to-ask-whether-were-in-a-compat-syscall include/linux/compat.h --- a/include/linux/compat.h~compat-add-in_compat_syscall-to-ask-whether-were-in-a-compat-syscall +++ a/include/linux/compat.h @@ -5,6 +5,8 @@ * syscall compatibility layer. */ +#include <linux/types.h> + #ifdef CONFIG_COMPAT #include <linux/stat.h> @@ -713,9 +715,22 @@ asmlinkage long compat_sys_sched_rr_get_ asmlinkage long compat_sys_fanotify_mark(int, unsigned int, __u32, __u32, int, const char __user *); + +/* + * For most but not all architectures, "am I in a compat syscall?" and + * "am I a compat task?" are the same question. For architectures on which + * they aren't the same question, arch code can override in_compat_syscall. + */ + +#ifndef in_compat_syscall +static inline bool in_compat_syscall(void) { return is_compat_task(); } +#endif + #else #define is_compat_task() (0) +static inline bool in_compat_syscall(void) { return false; } #endif /* CONFIG_COMPAT */ + #endif /* _LINUX_COMPAT_H */ _ Patches currently in -mm which might be from luto@xxxxxxxxxx are compat-add-in_compat_syscall-to-ask-whether-were-in-a-compat-syscall.patch sparc-compat-provide-an-accurate-in_compat_syscall-implementation.patch sparc-syscall-fix-syscall_get_arch.patch seccomp-check-in_compat_syscall-not-is_compat_task-in-strict-mode.patch ptrace-in-peek_siginfo-check-syscall-bitness-not-task-bitness.patch auditsc-for-seccomp-events-log-syscall-compat-state-using-in_compat_syscall.patch staging-lustre-switch-from-is_compat_task-to-in_compat_syscall.patch ext4-in-ext4_dir_llseek-check-syscall-bitness-directly.patch net-sctp-use-in_compat_syscall-for-sctp_getsockopt_connectx3.patch net-xfrm_user-use-in_compat_syscall-to-deny-compat-syscalls.patch firewire-use-in_compat_syscall-to-check-ioctl-compatness.patch efivars-use-in_compat_syscall-to-check-for-compat-callers.patch amdkfd-use-in_compat_syscall-to-check-open-caller-type.patch input-redefine-input_compat_test-as-in_compat_syscall.patch uhid-check-write-bitness-using-in_compat_syscall.patch x86-compat-remove-is_compat_task.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html