mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
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@kernel.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: "Theodore Ts'o" <tytso@mit.edu> Cc: Andreas Dilger <adilger.kernel@dilger.ca> Cc: Clemens Ladisch <clemens@ladisch.de> Cc: David Airlie <airlied@linux.ie> Cc: David Herrmann <dh.herrmann@googlemail.com> Cc: David Miller <davem@davemloft.net> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Eric Paris <eparis@redhat.com> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: Ingo Molnar <mingo@elte.hu> Acked-by: Jiri Kosina <jkosina@suse.cz> Cc: Matt Fleming <matt@codeblueprint.co.uk> Cc: Neil Horman <nhorman@tuxdriver.com> Cc: Oded Gabbay <oded.gabbay@gmail.com> Cc: Oleg Drokin <oleg.drokin@intel.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Paul Moore <paul@paul-moore.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Steffen Klassert <steffen.klassert@secunet.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vlad Yasevich <vyasevich@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
b4aa14a63c
commit
5180e3e24f
@ -5,6 +5,8 @@
|
|||||||
* syscall compatibility layer.
|
* syscall compatibility layer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/types.h>
|
||||||
|
|
||||||
#ifdef CONFIG_COMPAT
|
#ifdef CONFIG_COMPAT
|
||||||
|
|
||||||
#include <linux/stat.h>
|
#include <linux/stat.h>
|
||||||
@ -719,9 +721,22 @@ asmlinkage long compat_sys_sched_rr_get_interval(compat_pid_t pid,
|
|||||||
|
|
||||||
asmlinkage long compat_sys_fanotify_mark(int, unsigned int, __u32, __u32,
|
asmlinkage long compat_sys_fanotify_mark(int, unsigned int, __u32, __u32,
|
||||||
int, const char __user *);
|
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
|
#else
|
||||||
|
|
||||||
#define is_compat_task() (0)
|
#define is_compat_task() (0)
|
||||||
|
static inline bool in_compat_syscall(void) { return false; }
|
||||||
|
|
||||||
#endif /* CONFIG_COMPAT */
|
#endif /* CONFIG_COMPAT */
|
||||||
|
|
||||||
#endif /* _LINUX_COMPAT_H */
|
#endif /* _LINUX_COMPAT_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user