diff options
| author | Eric Paris <eparis@redhat.com> | 2013-11-22 18:57:08 -0500 |
|---|---|---|
| committer | Eric Paris <eparis@redhat.com> | 2013-11-22 18:57:54 -0500 |
| commit | fc582aef7dcc27a7120cf232c1e76c569c7b6eab (patch) | |
| tree | 7d275dd4ceab6067b91e9a25a5f6338b425fbccd /include/linux/compat.h | |
| parent | 9175c9d2aed528800175ef81c90569d00d23f9be (diff) | |
| parent | 5e01dc7b26d9f24f39abace5da98ccbd6a5ceb52 (diff) | |
Merge tag 'v3.12'
Linux 3.12
Conflicts:
fs/exec.c
Diffstat (limited to 'include/linux/compat.h')
| -rw-r--r-- | include/linux/compat.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h index 7f0c1dd09079..345da00a86e0 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
| @@ -43,6 +43,7 @@ | |||
| 43 | #define COMPAT_SYSCALL_DEFINEx(x, name, ...) \ | 43 | #define COMPAT_SYSCALL_DEFINEx(x, name, ...) \ |
| 44 | asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | 44 | asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ |
| 45 | static inline long C_SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | 45 | static inline long C_SYSC##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ |
| 46 | asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__));\ | ||
| 46 | asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\ | 47 | asmlinkage long compat_SyS##name(__MAP(x,__SC_LONG,__VA_ARGS__))\ |
| 47 | { \ | 48 | { \ |
| 48 | return C_SYSC##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ | 49 | return C_SYSC##name(__MAP(x,__SC_DELOUSE,__VA_ARGS__)); \ |
| @@ -669,6 +670,13 @@ asmlinkage long compat_sys_sigaltstack(const compat_stack_t __user *uss_ptr, | |||
| 669 | 670 | ||
| 670 | int compat_restore_altstack(const compat_stack_t __user *uss); | 671 | int compat_restore_altstack(const compat_stack_t __user *uss); |
| 671 | int __compat_save_altstack(compat_stack_t __user *, unsigned long); | 672 | int __compat_save_altstack(compat_stack_t __user *, unsigned long); |
| 673 | #define compat_save_altstack_ex(uss, sp) do { \ | ||
| 674 | compat_stack_t __user *__uss = uss; \ | ||
| 675 | struct task_struct *t = current; \ | ||
| 676 | put_user_ex(ptr_to_compat((void __user *)t->sas_ss_sp), &__uss->ss_sp); \ | ||
| 677 | put_user_ex(sas_ss_flags(sp), &__uss->ss_flags); \ | ||
| 678 | put_user_ex(t->sas_ss_size, &__uss->ss_size); \ | ||
| 679 | } while (0); | ||
| 672 | 680 | ||
| 673 | asmlinkage long compat_sys_sched_rr_get_interval(compat_pid_t pid, | 681 | asmlinkage long compat_sys_sched_rr_get_interval(compat_pid_t pid, |
| 674 | struct compat_timespec __user *interval); | 682 | struct compat_timespec __user *interval); |
