syscall.h (f01387d2693813eb5271a3448e6a082322c7d75d) syscall.h (034042cc1e2837a584cda0a5e4fc2b0a96b74543)
1/*
2 * Access to user system call parameters and results
3 *
4 * Copyright (C) 2008-2009 Red Hat, Inc. All rights reserved.
5 *
6 * This copyrighted material is made available to anyone wishing to use,
7 * modify, copy, or redistribute it subject to the terms and conditions
8 * of the GNU General Public License v.2.

--- 6 unchanged lines hidden (view full) ---

15
16#include <uapi/linux/audit.h>
17#include <linux/sched.h>
18#include <linux/err.h>
19#include <asm/asm-offsets.h> /* For NR_syscalls */
20#include <asm/thread_info.h> /* for TS_COMPAT */
21#include <asm/unistd.h>
22
1/*
2 * Access to user system call parameters and results
3 *
4 * Copyright (C) 2008-2009 Red Hat, Inc. All rights reserved.
5 *
6 * This copyrighted material is made available to anyone wishing to use,
7 * modify, copy, or redistribute it subject to the terms and conditions
8 * of the GNU General Public License v.2.

--- 6 unchanged lines hidden (view full) ---

15
16#include <uapi/linux/audit.h>
17#include <linux/sched.h>
18#include <linux/err.h>
19#include <asm/asm-offsets.h> /* For NR_syscalls */
20#include <asm/thread_info.h> /* for TS_COMPAT */
21#include <asm/unistd.h>
22
23typedef void (*sys_call_ptr_t)(void);
23typedef asmlinkage void (*sys_call_ptr_t)(void);
24extern const sys_call_ptr_t sys_call_table[];
25
24extern const sys_call_ptr_t sys_call_table[];
25
26#if defined(CONFIG_X86_32)
27#define ia32_sys_call_table sys_call_table
28#define __NR_syscall_compat_max __NR_syscall_max
29#define IA32_NR_syscalls NR_syscalls
30#endif
31
32#if defined(CONFIG_IA32_EMULATION)
33extern const sys_call_ptr_t ia32_sys_call_table[];
34#endif
35
26/*
27 * Only the low 32 bits of orig_ax are meaningful, so we return int.
28 * This importantly ignores the high bits on 64-bit, so comparisons
29 * sign-extend the low 32 bits.
30 */
31static inline int syscall_get_nr(struct task_struct *task, struct pt_regs *regs)
32{
33 return regs->orig_ax;

--- 210 unchanged lines hidden ---
36/*
37 * Only the low 32 bits of orig_ax are meaningful, so we return int.
38 * This importantly ignores the high bits on 64-bit, so comparisons
39 * sign-extend the low 32 bits.
40 */
41static inline int syscall_get_nr(struct task_struct *task, struct pt_regs *regs)
42{
43 return regs->orig_ax;

--- 210 unchanged lines hidden ---