aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-04 11:13:42 -0500
committerHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-06 10:30:46 -0500
commitca2c405ab90591dcb1bc3765467cbdf2b99a0f6a (patch)
tree9c3bed8843900e38d1eaa587f8e9b86df06ab3b4 /include/linux
parent3a49a0f7181c243aa04e6c5e44ca70a90ead8f9a (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.h6
-rw-r--r--include/linux/kexec.h6
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);
642asmlinkage long compat_sys_getsockopt(int fd, int level, int optname, 642asmlinkage long compat_sys_getsockopt(int fd, int level, int optname,
643 char __user *optval, int __user *optlen); 643 char __user *optval, int __user *optlen);
644asmlinkage long compat_sys_kexec_load(unsigned long entry, 644asmlinkage 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);
648asmlinkage long compat_sys_mq_getsetattr(mqd_t mqdes, 648asmlinkage 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);
129extern int kernel_kexec(void); 129extern int kernel_kexec(void);
130#ifdef CONFIG_COMPAT
131extern 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
136extern struct page *kimage_alloc_control_pages(struct kimage *image, 130extern struct page *kimage_alloc_control_pages(struct kimage *image,
137 unsigned int order); 131 unsigned int order);
138extern void crash_kexec(struct pt_regs *); 132extern void crash_kexec(struct pt_regs *);