diff options
| -rw-r--r-- | include/linux/compat.h | 6 | ||||
| -rw-r--r-- | include/linux/kexec.h | 6 | ||||
| -rw-r--r-- | kernel/kexec.c | 8 |
3 files changed, 7 insertions, 13 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 *); |
diff --git a/kernel/kexec.c b/kernel/kexec.c index 60bafbed06ab..45601cf41bee 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c | |||
| @@ -1039,10 +1039,10 @@ void __weak crash_unmap_reserved_pages(void) | |||
| 1039 | {} | 1039 | {} |
| 1040 | 1040 | ||
| 1041 | #ifdef CONFIG_COMPAT | 1041 | #ifdef CONFIG_COMPAT |
| 1042 | asmlinkage long compat_sys_kexec_load(unsigned long entry, | 1042 | COMPAT_SYSCALL_DEFINE4(kexec_load, compat_ulong_t, entry, |
| 1043 | unsigned long nr_segments, | 1043 | compat_ulong_t, nr_segments, |
| 1044 | struct compat_kexec_segment __user *segments, | 1044 | struct compat_kexec_segment __user *, segments, |
| 1045 | unsigned long flags) | 1045 | compat_ulong_t, flags) |
| 1046 | { | 1046 | { |
| 1047 | struct compat_kexec_segment in; | 1047 | struct compat_kexec_segment in; |
| 1048 | struct kexec_segment out, __user *ksegments; | 1048 | struct kexec_segment out, __user *ksegments; |
