summaryrefslogtreecommitdiff
path: root/kernel/kexec.c
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-04 17:13:42 +0100
committerHeiko Carstens <heiko.carstens@de.ibm.com>2014-03-06 16:30:46 +0100
commitca2c405ab90591dcb1bc3765467cbdf2b99a0f6a (patch)
tree9c3bed8843900e38d1eaa587f8e9b86df06ab3b4 /kernel/kexec.c
parent3a49a0f7181c243aa04e6c5e44ca70a90ead8f9a (diff)
downloadlwn-ca2c405ab90591dcb1bc3765467cbdf2b99a0f6a.tar.gz
lwn-ca2c405ab90591dcb1bc3765467cbdf2b99a0f6a.zip
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 'kernel/kexec.c')
-rw-r--r--kernel/kexec.c8
1 files changed, 4 insertions, 4 deletions
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)
{}
#ifdef CONFIG_COMPAT
-asmlinkage long compat_sys_kexec_load(unsigned long entry,
- unsigned long nr_segments,
- struct compat_kexec_segment __user *segments,
- unsigned long flags)
+COMPAT_SYSCALL_DEFINE4(kexec_load, compat_ulong_t, entry,
+ compat_ulong_t, nr_segments,
+ struct compat_kexec_segment __user *, segments,
+ compat_ulong_t, flags)
{
struct compat_kexec_segment in;
struct kexec_segment out, __user *ksegments;