linux/tools
John Fastabend 32f13a5add bpf: Test_verifier, #65 error message updates for trunc of boundary-cross
After changes to add update_reg_bounds after ALU ops and 32-bit bounds
tracking truncation of boundary crossing range will fail earlier and with
a different error message. Now the test error trace is the following

11: (17) r1 -= 2147483584
12: R0_w=map_value(id=0,off=0,ks=8,vs=8,imm=0)
    R1_w=invP(id=0,smin_value=-2147483584,smax_value=63)
    R10=fp0 fp-8_w=mmmmmmmm
12: (17) r1 -= 2147483584
13: R0_w=map_value(id=0,off=0,ks=8,vs=8,imm=0)
    R1_w=invP(id=0,
              umin_value=18446744069414584448,umax_value=18446744071562068095,
              var_off=(0xffffffff00000000; 0xffffffff))
    R10=fp0 fp-8_w=mmmmmmmm
13: (77) r1 >>= 8
14: R0_w=map_value(id=0,off=0,ks=8,vs=8,imm=0)
    R1_w=invP(id=0,
              umin_value=72057594021150720,umax_value=72057594029539328,
              var_off=(0xffffffff000000; 0xffffff),
              s32_min_value=-16777216,s32_max_value=-1,
              u32_min_value=-16777216)
    R10=fp0 fp-8_w=mmmmmmmm
14: (0f) r0 += r1
value 72057594021150720 makes map_value pointer be out of bounds

Because we have 'umin_value == umax_value' instead of previously
where 'umin_value != umax_value' we can now fail earlier noting
that pointer addition is out of bounds.

Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/158560428103.10843.6316594510312781186.stgit@john-Precision-5820-Tower
2020-03-30 15:00:30 -07:00
..
accounting
arch
bootconfig
bpf bpftool: Add struct_ops support 2020-03-20 15:51:35 +01:00
build bpftool: Only build bpftool-prog-profile if supported by clang 2020-03-13 00:08:33 +01:00
cgroup
debugging
firewire
firmware
gpio
hv
iio
include bpf: Add socket assign support 2020-03-30 13:45:04 -07:00
io_uring
kvm/kvm_stat
laptop
leds
lib tools/libbpf: Add support for BPF_PROG_TYPE_LSM 2020-03-30 01:35:11 +02:00
memory-model
nfsd
objtool
pci
pcmcia
perf
power
scripts bpftool: Introduce "prog profile" command 2020-03-10 00:04:07 +01:00
spi
testing bpf: Test_verifier, #65 error message updates for trunc of boundary-cross 2020-03-30 15:00:30 -07:00
thermal/tmon
time
usb
virtio
vm
wmi
Makefile