]> git.baikalelectronics.ru Git - kernel.git/commit
bpf: properly reset caller saved regs after helper call and ld_abs/ind
authorDaniel Borkmann <daniel@iogearbox.net>
Wed, 24 May 2017 23:05:06 +0000 (01:05 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 May 2017 17:44:27 +0000 (13:44 -0400)
commit70fba7265c18da325bd6523b59add6b7f0d171fb
treef2709d8120df7b4368ca173096b7260625965021
parent8852d4d103f33d538e25e6752be573e270a68213
bpf: properly reset caller saved regs after helper call and ld_abs/ind

Currently, after performing helper calls, we clear all caller saved
registers, that is r0 - r5 and fill r0 depending on struct bpf_func_proto
specification. The way we reset these regs can affect pruning decisions
in later paths, since we only reset register's imm to 0 and type to
NOT_INIT. However, we leave out clearing of other variables such as id,
min_value, max_value, etc, which can later on lead to pruning mismatches
due to stale data.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
kernel/bpf/verifier.c