Naveen N. Rao
ede7c460b1
bpf: handle 32-bit zext during constant blinding
...
Since BPF constant blinding is performed after the verifier pass, the
ALU32 instructions inserted for doubleword immediate loads don't have a
corresponding zext instruction. This is causing a kernel oops on powerpc
and can be reproduced by running 'test_cgroup_storage' with
bpf_jit_harden=2.
Fix this by emitting BPF_ZEXT during constant blinding if
prog->aux->verifier_zext is set.
Fixes: a4b1d3c1dd ("bpf: verifier: insert zero extension according to analysis result")
Reported-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Reviewed-by: Jiong Wang <jiong.wang@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2019-08-26 23:05:01 +02:00
..
arraymap.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-06-17 20:20:36 -07:00
bpf_lru_list.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206
2019-05-30 11:29:53 -07:00
bpf_lru_list.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206
2019-05-30 11:29:53 -07:00
btf.c
bpf: fix BTF verifier size resolution logic
2019-07-15 23:02:17 +02:00
cgroup.c
bpf: cgroup: Fix build error without CONFIG_NET
2019-07-08 17:17:00 +02:00
core.c
bpf: handle 32-bit zext during constant blinding
2019-08-26 23:05:01 +02:00
cpumap.c
devmap/cpumap: Use flush list instead of bitmap
2019-06-29 01:31:08 +02:00
devmap.c
devmap: Allow map lookups from eBPF
2019-06-29 01:31:09 +02:00
disasm.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295
2019-06-05 17:36:38 +02:00
disasm.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295
2019-06-05 17:36:38 +02:00
hashtab.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-06-17 20:20:36 -07:00
helpers.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295
2019-06-05 17:36:38 +02:00
inode.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500
2019-06-19 17:09:55 +02:00
local_storage.c
bpf: move memory size checks to bpf_map_charge_init()
2019-05-31 16:52:56 -07:00
lpm_trie.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-06-22 08:59:24 -04:00
Makefile
bpf: silence warning messages in core
2019-06-12 16:51:02 +02:00
map_in_map.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206
2019-05-30 11:29:53 -07:00
map_in_map.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206
2019-05-30 11:29:53 -07:00
offload.c
bpf: offload: add priv field for drivers
2019-02-12 17:07:09 +01:00
percpu_freelist.c
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206
2019-05-30 11:29:53 -07:00
percpu_freelist.h
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 206
2019-05-30 11:29:53 -07:00
queue_stack_maps.c
bpf: move memory size checks to bpf_map_charge_init()
2019-05-31 16:52:56 -07:00
reuseport_array.c
bpf: move memory size checks to bpf_map_charge_init()
2019-05-31 16:52:56 -07:00
stackmap.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2019-06-07 11:00:14 -07:00
syscall.c
bpf: fix use after free in prog symbol exposure
2019-08-24 01:17:47 +02:00
tnum.c
treewide: Add SPDX license identifier for missed files
2019-05-21 10:50:45 +02:00
verifier.c
bpf: fix precision tracking in presence of bpf2bpf calls
2019-08-24 01:17:12 +02:00
xskmap.c
xskmap: Move non-standard list manipulation to helper
2019-06-29 01:31:08 +02:00