aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/test_verifier.c
diff options
context:
space:
mode:
authorDaniel Borkmann <daniel@iogearbox.net>2019-01-06 00:54:37 +0100
committerAlexei Starovoitov <ast@kernel.org>2019-01-05 21:32:38 -0800
commitd3bd7413e0ca40b60cf60d4003246d067cafdeda (patch)
tree921fb6e1b153c75a832e52659b7b9166b9174bec /tools/testing/selftests/bpf/test_verifier.c
parentMerge branch 'udpv6_sendmsg-addr_any-fix' (diff)
downloadlinux-dev-d3bd7413e0ca40b60cf60d4003246d067cafdeda.tar.xz
linux-dev-d3bd7413e0ca40b60cf60d4003246d067cafdeda.zip
bpf: fix sanitation of alu op with pointer / scalar type from different paths
While 979d63d50c0c ("bpf: prevent out of bounds speculation on pointer arithmetic") took care of rejecting alu op on pointer when e.g. pointer came from two different map values with different map properties such as value size, Jann reported that a case was not covered yet when a given alu op is used in both "ptr_reg += reg" and "numeric_reg += reg" from different branches where we would incorrectly try to sanitize based on the pointer's limit. Catch this corner case and reject the program instead. Fixes: 979d63d50c0c ("bpf: prevent out of bounds speculation on pointer arithmetic") Reported-by: Jann Horn <jannh@google.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/test_verifier.c')
0 files changed, 0 insertions, 0 deletions