linux/arch/arm64/kernel
Catalin Marinas 9d42d48a34 arm64: compat Fix siginfo_t -> compat_siginfo_t conversion on big endian
The native (64-bit) sigval_t union contains sival_int (32-bit) and
sival_ptr (64-bit). When a compat application invokes a syscall that
takes a sigval_t value (as part of a larger structure, e.g.
compat_sys_mq_notify, compat_sys_timer_create), the compat_sigval_t
union is converted to the native sigval_t with sival_int overlapping
with either the least or the most significant half of sival_ptr,
depending on endianness. When the corresponding signal is delivered to a
compat application, on big endian the current (compat_uptr_t)sival_ptr
cast always returns 0 since sival_int corresponds to the top part of
sival_ptr. This patch fixes copy_siginfo_to_user32() so that sival_int
is copied to the compat_siginfo_t structure.

Cc: <stable@vger.kernel.org>
Reported-by: Bamvor Jian Zhang <bamvor.zhangjian@huawei.com>
Tested-by: Bamvor Jian Zhang <bamvor.zhangjian@huawei.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2015-02-27 18:05:56 +00:00
..
vdso arm64: vdso: minor ABI fix for clock_getres 2015-02-26 18:13:51 +00:00
.gitignore
alternative.c arm64: add module support for alternatives fixups 2014-12-04 10:28:24 +00:00
arm64ksyms.c
armv8_deprecated.c arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
asm-offsets.c Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
cacheinfo.c arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cpu_errata.c arm64: alternatives: fix pr_fmt string for consistency 2014-11-25 18:27:01 +00:00
cpu_ops.c
cpuidle.c arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
cpuinfo.c arm64: Track system support for mixed endian EL0 2015-01-23 17:02:19 +00:00
cputable.c
debug-monitors.c
efi-entry.S arm64 updates for 3.19 2014-12-09 13:12:47 -08:00
efi-stub.c arm64/efi: efistub: Apply __init annotation 2015-01-15 21:28:35 +00:00
efi.c arm64/efi: move virtmap init to early initcall 2015-01-22 14:59:25 +00:00
entry32.S arm64: Implement the compat_sys_call_table in C 2015-01-27 09:38:07 +00:00
entry-fpsimd.S
entry-ftrace.S arm64: ftrace: eliminate literal pool entries 2014-11-07 15:04:49 +00:00
entry.S arm64: Implement the compat_sys_call_table in C 2015-01-27 09:38:07 +00:00
fpsimd.c
ftrace.c arm64: ftrace: fix ftrace_modify_graph_caller for branch replace 2015-02-23 09:13:45 +00:00
head.S arm64: Move some head.text functions to executable section 2014-11-26 17:19:47 +00:00
hw_breakpoint.c arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
hyp-stub.S
image.h
insn.c arm64: Fix text patching logic when using fixmap 2015-02-26 18:34:27 +00:00
io.c arm64: optimize memcpy_{from,to}io() and memset_io() 2014-11-06 17:25:27 +00:00
irq.c arm64: Treat handle_arch_irq as a function pointer 2014-11-25 15:56:44 +00:00
jump_label.c arm64: jump labels: NOP out NOP -> NOP replacement 2014-11-26 17:19:47 +00:00
kgdb.c
kuser32.S
Makefile arm64: psci: move psci firmware calls out of line 2015-02-26 18:23:53 +00:00
module.c mm: vmalloc: pass additional vm_flags to __vmalloc_node_range() 2015-02-13 21:21:42 -08:00
pci.c PCI: Move domain assignment from arm64 to generic code 2014-12-27 18:19:12 -07:00
perf_event.c arm64: perf: Prevent wraparound during overflow 2014-12-04 10:26:54 +00:00
perf_regs.c perf: Move task_pt_regs sampling into arch code 2015-01-09 11:12:28 +01:00
process.c
psci-call.S arm64: psci: move psci firmware calls out of line 2015-02-26 18:23:53 +00:00
psci.c arm64: psci: move psci firmware calls out of line 2015-02-26 18:23:53 +00:00
ptrace.c arm64: add seccomp support 2014-11-28 10:24:59 +00:00
return_address.c
setup.c arm64: implement generic IOMMU configuration 2015-01-23 16:44:16 +00:00
signal32.c arm64: compat Fix siginfo_t -> compat_siginfo_t conversion on big endian 2015-02-27 18:05:56 +00:00
signal.c all arches, signal: move restart_block to struct task_struct 2015-02-12 18:54:12 -08:00
sleep.S arm64: Move cpu_resume into the text section 2014-11-25 15:56:44 +00:00
smp_spin_table.c arm64: fix missing asm/io.h include in kernel/smp_spin_table.c 2015-01-07 11:40:59 +00:00
smp.c smp, ARM64: Kill SMP single function call interrupt 2015-01-23 18:06:47 +00:00
stacktrace.c
suspend.c arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
sys32.c arm64: Implement the compat_sys_call_table in C 2015-01-27 09:38:07 +00:00
sys_compat.c arm64: compat: align cacheflush syscall with arch/arm 2014-12-01 13:31:12 +00:00
sys.c arm64: make sys_call_table const 2015-01-27 09:38:08 +00:00
time.c
topology.c arm64: topology: Fix handling of multi-level cluster MPIDR-based detection 2014-11-25 15:56:43 +00:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: decode ESR_ELx.EC when reporting exceptions 2015-01-15 12:24:22 +00:00
vdso.c
vmlinux.lds.S arm64: add better page protections to arm64 2015-01-22 14:54:29 +00:00