diff options
Diffstat (limited to 'kexec')
-rw-r--r-- | kexec/arch/x86_64/kexec-elf-rel-x86_64.c | 4 | ||||
-rw-r--r-- | kexec/kexec-syscall.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c index c795037..06db7f0 100644 --- a/kexec/arch/x86_64/kexec-elf-rel-x86_64.c +++ b/kexec/arch/x86_64/kexec-elf-rel-x86_64.c @@ -8,7 +8,11 @@ int machine_verify_elf_rel(struct mem_ehdr *ehdr) if (ehdr->ei_data != ELFDATA2LSB) { return 0; } +#ifdef __ILP32__ + if (ehdr->ei_class != ELFCLASS32) { +#else if (ehdr->ei_class != ELFCLASS64) { +#endif return 0; } if (ehdr->e_machine != EM_X86_64) { diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h index ce2e20b..cab5535 100644 --- a/kexec/kexec-syscall.h +++ b/kexec/kexec-syscall.h @@ -31,8 +31,12 @@ #define __NR_kexec_load 268 #endif #ifdef __x86_64__ +#ifdef __ILP32__ +#define __NR_kexec_load 528 +#else #define __NR_kexec_load 246 #endif +#endif #ifdef __s390x__ #define __NR_kexec_load 277 #endif |