summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorPer Fransson <per.xx.fransson@stericsson.com>2010-07-09 12:14:56 +0200
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 10:59:39 +0200
commite41e399ab5554c467fcef0e603033eab426536e8 (patch)
tree60e1e0921af680d15be54ca521702f50d3501f27 /arch
parentf1c1d5e930b06881b7307fccffd6144180b3bcd7 (diff)
arm: allow passing an ELF64 header to elf_check_arch() Signed-off-by: Per Fransson <per.xx.fransson@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/2732 Tested-by: Per FRANSSON <per.xx.fransson@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Change-Id: I616a21ea86221d179fff1e87174aafa0eeee7f98 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/3181 Tested-by: Mian Yousaf KAUKAB <mian.yousaf.kaukab@stericsson.com> Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com> Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Signed-off-by: Lee Jones <lee.jones@canonical.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/include/asm/elf.h4
-rw-r--r--arch/arm/kernel/elf.c6
2 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/include/asm/elf.h b/arch/arm/include/asm/elf.h
index 38050b1c480..cd644aade4c 100644
--- a/arch/arm/include/asm/elf.h
+++ b/arch/arm/include/asm/elf.h
@@ -96,8 +96,8 @@ struct elf32_hdr;
/*
* This is used to ensure we don't load something for the wrong architecture.
*/
-extern int elf_check_arch(const struct elf32_hdr *);
-#define elf_check_arch elf_check_arch
+extern int arm_elf_check_arch(const struct elf32_hdr *);
+#define elf_check_arch(x) arm_elf_check_arch((const struct elf32_hdr *)(x))
#define vmcore_elf64_check_arch(x) (0)
diff --git a/arch/arm/kernel/elf.c b/arch/arm/kernel/elf.c
index d0d1e83150c..6602eae1527 100644
--- a/arch/arm/kernel/elf.c
+++ b/arch/arm/kernel/elf.c
@@ -5,11 +5,13 @@
#include <linux/elf.h>
#include <asm/system_info.h>
-int elf_check_arch(const struct elf32_hdr *x)
+int arm_elf_check_arch(const struct elf32_hdr *x)
{
unsigned int eflags;
/* Make sure it's an ARM executable */
+ if (x->e_ident[EI_CLASS] != ELF_CLASS)
+ return 0;
if (x->e_machine != EM_ARM)
return 0;
@@ -36,7 +38,7 @@ int elf_check_arch(const struct elf32_hdr *x)
}
return 1;
}
-EXPORT_SYMBOL(elf_check_arch);
+EXPORT_SYMBOL(arm_elf_check_arch);
void elf_set_personality(const struct elf32_hdr *x)
{