diff options
| author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-04 11:13:42 -0500 |
|---|---|---|
| committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2014-03-06 10:30:46 -0500 |
| commit | ca2c405ab90591dcb1bc3765467cbdf2b99a0f6a (patch) | |
| tree | 9c3bed8843900e38d1eaa587f8e9b86df06ab3b4 /include/linux | |
| parent | 3a49a0f7181c243aa04e6c5e44ca70a90ead8f9a (diff) | |
kexec/compat: convert to COMPAT_SYSCALL_DEFINE with changing parameter types
In order to allow the COMPAT_SYSCALL_DEFINE macro generate code that
performs proper zero and sign extension convert all 64 bit parameters
to their corresponding 32 bit compat counterparts.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/compat.h | 6 | ||||
| -rw-r--r-- | include/linux/kexec.h | 6 |
2 files changed, 3 insertions, 9 deletions
diff --git a/include/linux/compat.h b/include/linux/compat.h index 8e636211f334..ef4834c5bcab 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h | |||
| @@ -641,10 +641,10 @@ asmlinkage long compat_sys_futex(u32 __user *uaddr, int op, u32 val, | |||
| 641 | u32 val3); | 641 | u32 val3); |
| 642 | asmlinkage long compat_sys_getsockopt(int fd, int level, int optname, | 642 | asmlinkage long compat_sys_getsockopt(int fd, int level, int optname, |
| 643 | char __user *optval, int __user *optlen); | 643 | char __user *optval, int __user *optlen); |
| 644 | asmlinkage long compat_sys_kexec_load(unsigned long entry, | 644 | asmlinkage long compat_sys_kexec_load(compat_ulong_t entry, |
| 645 | unsigned long nr_segments, | 645 | compat_ulong_t nr_segments, |
| 646 | struct compat_kexec_segment __user *, | 646 | struct compat_kexec_segment __user *, |
| 647 | unsigned long flags); | 647 | compat_ulong_t flags); |
| 648 | asmlinkage long compat_sys_mq_getsetattr(mqd_t mqdes, | 648 | asmlinkage long compat_sys_mq_getsetattr(mqd_t mqdes, |
| 649 | const struct compat_mq_attr __user *u_mqstat, | 649 | const struct compat_mq_attr __user *u_mqstat, |
| 650 | struct compat_mq_attr __user *u_omqstat); | 650 | struct compat_mq_attr __user *u_omqstat); |
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 6d4066cdb5b5..a75641930049 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
| @@ -127,12 +127,6 @@ extern asmlinkage long sys_kexec_load(unsigned long entry, | |||
| 127 | struct kexec_segment __user *segments, | 127 | struct kexec_segment __user *segments, |
| 128 | unsigned long flags); | 128 | unsigned long flags); |
| 129 | extern int kernel_kexec(void); | 129 | extern int kernel_kexec(void); |
| 130 | #ifdef CONFIG_COMPAT | ||
| 131 | extern asmlinkage long compat_sys_kexec_load(unsigned long entry, | ||
| 132 | unsigned long nr_segments, | ||
| 133 | struct compat_kexec_segment __user *segments, | ||
| 134 | unsigned long flags); | ||
| 135 | #endif | ||
| 136 | extern struct page *kimage_alloc_control_pages(struct kimage *image, | 130 | extern struct page *kimage_alloc_control_pages(struct kimage *image, |
| 137 | unsigned int order); | 131 | unsigned int order); |
| 138 | extern void crash_kexec(struct pt_regs *); | 132 | extern void crash_kexec(struct pt_regs *); |
