linux-sg2042/arch/powerpc
Daniel Borkmann d269176e76 bpf, ppc64: fix out of bounds access in tail call
While working on 16338a9b3a ("bpf, arm64: fix out of bounds access in
tail call") I noticed that ppc64 JIT is partially affected as well. While
the bound checking is correctly performed as unsigned comparison, the
register with the index value however, is never truncated into 32 bit
space, so e.g. a index value of 0x100000000ULL with a map of 1 element
would pass with PPC_CMPLW() whereas we later on continue with the full
64 bit register value. Therefore, as we do in interpreter and other JITs
truncate the value to 32 bit initially in order to fix access.

Fixes: ce0761419f ("powerpc/bpf: Implement support for tail calls")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2018-02-26 19:58:09 -08:00
..
boot powerpc updates for 4.16 2018-02-02 10:01:04 -08:00
configs powerpc updates for 4.16 2018-02-02 10:01:04 -08:00
crypto crypto: hash - annotate algorithms taking optional key 2018-01-12 23:03:35 +11:00
include powerpc/pseries: Add empty update_numa_cpu_lookup_table() for NUMA=n 2018-02-15 10:10:02 +11:00
kernel powerpc: Expose TSCR via sysfs only on powernv 2018-02-15 09:54:42 +11:00
kvm KVM changes for 4.16 2018-02-10 13:16:35 -08:00
lib Merge branch 'fixes' into next 2018-01-21 23:21:14 +11:00
math-emu License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mm powerpc/pseries: Check for zero filled ibm,dynamic-memory property 2018-02-16 21:34:14 +11:00
net bpf, ppc64: fix out of bounds access in tail call 2018-02-26 19:58:09 -08:00
oprofile treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
perf Merge branch 'fixes' into next 2018-01-21 23:21:14 +11:00
platforms powerpc/powernv: IMC fix out of bounds memory access at shutdown 2018-02-15 09:54:45 +11:00
purgatory License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sysdev powerpc/xive: Use hw CPU ids when configuring the CPU queues 2018-02-15 09:54:43 +11:00
tools License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
xmon powerpc/64s: Improve RFI L1-D cache flush fallback 2018-01-23 16:16:33 +11:00
Kconfig Merge branch 'linus' into sched/urgent, to resolve conflicts 2018-02-06 21:12:31 +01:00
Kconfig.debug powerpc: Add new kconfig CONFIG_PPC_IRQ_SOFT_MASK_DEBUG 2018-01-19 22:37:03 +11:00
Makefile powerpc/modules: Fix alignment of .toc section in kernel modules 2017-12-11 13:03:35 +11:00
Makefile.postlink License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00