linux/arch/mips/kernel
Daniel Wagner f4d3d50419 mips: Differentiate between 32 and 64 bit ELF header
Depending on the configuration either the 32 or 64 bit version of
elf_check_arch() is defined. parse_crash_elf{32|64}_headers() does
some basic verification of the ELF header via
vmcore_elf{32|64}_check_arch() which happen to map to elf_check_arch().
Since the implementation 32 and 64 bit version of elf_check_arch()
differ, we use the wrong type:

   In file included from include/linux/elf.h:4:0,
                    from fs/proc/vmcore.c:13:
   fs/proc/vmcore.c: In function 'parse_crash_elf64_headers':
>> arch/mips/include/asm/elf.h:228:23: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
     struct elfhdr *__h = (hdr);     \
                          ^
   include/linux/crash_dump.h:41:37: note: in expansion of macro 'elf_check_arch'
    #define vmcore_elf64_check_arch(x) (elf_check_arch(x) || vmcore_elf_check_arch_cross(x))
                                        ^
   fs/proc/vmcore.c:1015:4: note: in expansion of macro 'vmcore_elf64_check_arch'
      !vmcore_elf64_check_arch(&ehdr) ||
       ^

Therefore, we rather define vmcore_elf{32|64}_check_arch() as a
basic machine check and use it also in binfm_elf?32.c as well.

Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Suggested-by: Maciej W. Rozycki <macro@imgtec.com>
Reviewed-by: Maciej W. Rozycki <macro@imgtec.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/12529/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2016-02-11 11:38:22 +01:00
..
.gitignore
8250-platform.c
asm-offsets.c MIPS: Set trap_no field in thread_struct on exception. 2015-09-03 12:08:04 +02:00
binfmt_elfn32.c mips: Differentiate between 32 and 64 bit ELF header 2016-02-11 11:38:22 +01:00
binfmt_elfo32.c mips: Differentiate between 32 and 64 bit ELF header 2016-02-11 11:38:22 +01:00
bmips_vec.S
branch.c MIPS: Fix branch emulation for BLTC and BGEC instructions 2015-07-09 11:10:40 +02:00
cevt-bcm1480.c MIPS: cevt-bcm1480: Migrate to new 'set-state' interface 2015-09-03 12:07:51 +02:00
cevt-ds1287.c MIPS: cevt-ds1287: Migrate to new 'set-state' interface 2015-09-03 12:07:51 +02:00
cevt-gt641xx.c MIPS: cevt-gt641xx: Migrate to new 'set-state' interface 2015-09-03 12:07:51 +02:00
cevt-r4k.c MIPS: cevt-r4k: Migrate to new 'set-state' interface 2015-09-03 12:07:52 +02:00
cevt-sb1250.c MIPS: cevt-sb1250: Migrate to new 'set-state' interface 2015-09-03 12:07:52 +02:00
cevt-txx9.c MIPS: cevt-txx9: Migrate to new 'set-state' interface 2015-09-03 12:07:53 +02:00
cps-vec-ns16550.S MIPS: CPS: Early debug using an ns16550-compatible UART 2015-11-11 08:34:25 +01:00
cps-vec.S MIPS: CPS: drop .set mips64r2 directives 2015-12-22 12:16:32 +01:00
cpu-bugs64.c MIPS: Use EXCCODE_ constants with set_except_vector() 2016-01-24 03:28:21 +01:00
cpu-probe.c MIPS: Add IEEE Std 754 conformance mode selection 2016-01-20 00:39:20 +01:00
crash_dump.c
crash.c
csrc-bcm1480.c
csrc-ioasic.c
csrc-r4k.c MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() 2015-11-11 08:36:41 +01:00
csrc-sb1250.c
early_printk_8250.c
early_printk.c
elf.c MIPS: Add IEEE Std 754 conformance mode selection 2016-01-20 00:39:20 +01:00
entry.S
ftrace.c
genex.S MIPS: Fix LLVM build issue. 2015-08-18 11:40:20 +02:00
gpio_txx9.c MIPS: TXx9: Be sure to clamp return value 2016-01-24 02:22:14 +01:00
head.S MIPS: Add support for vmlinux.bin appended dtb 2015-06-21 21:54:14 +02:00
i8253.c
idle.c Merge branch '4.3-fixes' into mips-for-linux-next 2015-11-12 11:36:03 +01:00
irq_txx9.c
irq-gt641xx.c
irq-msc01.c
irq-rm7000.c
irq.c MIPS: IRQ/IP27: Move IRQ allocation API to platform code. 2015-06-21 21:54:31 +02:00
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kgdb.c MIPS: Get rid of 'kgdb_early_setup' cruft. 2015-06-21 21:54:10 +02:00
kprobes.c
linux32.c
machine_kexec.c
Makefile MIPS: CPS: Early debug using an ns16550-compatible UART 2015-11-11 08:34:25 +01:00
mcount.S
mips_ksyms.c MIPS: uaccess: Take EVA into account in [__]clear_user 2015-12-22 11:58:43 +01:00
mips_machine.c
mips-cm.c MIPS: CM, CPC: Ensure core-other GCRs reflect the correct core 2015-11-11 08:35:18 +01:00
mips-cpc.c MIPS: CM, CPC: Ensure core-other GCRs reflect the correct core 2015-11-11 08:35:18 +01:00
mips-mt-fpaff.c MIPS: Fix sched_getaffinity with MT FPAFF enabled 2015-08-03 09:25:02 +02:00
mips-mt.c
mips-r2-to-r6-emul.c MIPS: Declare mips_debugfs_dir in a header 2015-10-26 09:49:42 +01:00
module-rela.c
module.c
octeon_switch.S MIPS: Fix octeon FP context switch handling 2015-10-02 19:16:06 +02:00
perf_event_mipsxx.c MIPS: Add cases for CPU_I6400 2015-08-26 15:23:03 +02:00
perf_event.c
pm-cps.c MIPS: Add cases for CPU_I6400 2015-08-26 15:23:03 +02:00
pm.c
proc.c
process.c MIPS: Properly disable FPU in start_thread() 2016-02-01 23:36:03 +01:00
prom.c MIPS: Fix build with CONFIG_OF=y for non OF-enabled targets 2015-08-03 09:25:00 +02:00
ptrace32.c
ptrace.c MIPS: ptrace: Drop cp0_tcstatus from regoffset_table[] 2016-01-24 02:24:24 +01:00
r4k_fpu.S MIPS: Save MSA extended context around signals 2015-09-03 12:07:59 +02:00
r4k_switch.S MIPS: Tidy up FPU context switching 2015-09-03 12:08:05 +02:00
r2300_fpu.S
r2300_switch.S MIPS: Fix R2300 FP context switch handling 2015-10-02 19:16:46 +02:00
r6000_fpu.S
relocate_kernel.S MIPS: Replace add and sub instructions in relocate_kernel.S with addiu 2015-08-03 15:26:30 +02:00
reset.c
rtlx-cmp.c
rtlx-mt.c
rtlx.c
scall32-o32.S MIPS: Wire up copy_file_range syscall. 2016-02-05 17:15:42 +01:00
scall64-64.S MIPS: Wire up copy_file_range syscall. 2016-02-05 17:15:42 +01:00
scall64-n32.S MIPS: Wire up copy_file_range syscall. 2016-02-05 17:15:42 +01:00
scall64-o32.S MIPS: Wire up copy_file_range syscall. 2016-02-05 17:15:42 +01:00
segment.c MIPS: Declare mips_debugfs_dir in a header 2015-10-26 09:49:42 +01:00
setup.c MIPS: Fix early CM probing 2016-02-09 17:18:31 +01:00
signal32.c MIPS: Initial implementation of a VDSO 2015-11-11 08:36:36 +01:00
signal_n32.c MIPS: Initial implementation of a VDSO 2015-11-11 08:36:36 +01:00
signal-common.h MIPS: Save MSA extended context around signals 2015-09-03 12:07:59 +02:00
signal.c MIPS: Initial implementation of a VDSO 2015-11-11 08:36:36 +01:00
smp-bmips.c MIPS: SMP: Don't increment irq_count multiple times for call function IPIs 2015-08-03 09:25:12 +02:00
smp-cmp.c
smp-cps.c MIPS: smp-cps: Ensure secondary cores start with EVA disabled 2016-01-24 02:09:53 +01:00
smp-gic.c MIPS: CM: make use of mips_cm_{lock,unlock}_other 2015-11-11 08:35:17 +01:00
smp-mt.c
smp-up.c
smp.c MIPS: Initialise MAARs on secondary CPUs 2015-09-27 14:15:26 +02:00
spinlock_test.c MIPS: Declare mips_debugfs_dir in a header 2015-10-26 09:49:42 +01:00
spram.c MIPS: Add cases for CPU_I6400 2015-08-26 15:23:03 +02:00
stacktrace.c MIPS: Add LATENCYTOP support 2015-11-11 08:36:46 +01:00
sync-r4k.c MIPS: sync-r4k: reduce skew while synchronization 2016-01-24 01:31:51 +01:00
syscall.c
sysrq.c MIPS: Refactor dumping of TLB registers for r3k/r4k 2015-09-03 12:07:45 +02:00
time.c
topology.c
traps.c MIPS: traps.c: Correct microMIPS RDHWR emulation 2016-02-02 02:16:29 +01:00
unaligned.c MIPS: Declare mips_debugfs_dir in a header 2015-10-26 09:49:42 +01:00
uprobes.c MIPS: Add uprobes support. 2015-09-03 12:08:05 +02:00
vdso.c MIPS: VDSO: Add implementations of gettimeofday() and clock_gettime() 2015-11-11 08:36:41 +01:00
vmlinux.lds.S Merge branch '4.3-fixes' into mips-for-linux-next 2015-11-12 11:36:03 +01:00
vpe-cmp.c
vpe-mt.c
vpe.c module: use a structure to encapsulate layout. 2015-12-04 22:46:25 +01:00
watch.c