summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorAlexei Starovoitov <ast@fb.com>2016-05-06 04:49:11 +0200
committerDavid S. Miller <davem@davemloft.net>2016-05-06 22:01:54 +0200
commit735b433397ea2f97d59240cbe4ea770aa7c88eef (patch)
treec2caeca835dc4a72ee04652e37274c98d4ad88eb /net
parentbpf: direct packet access (diff)
downloadlinux-735b433397ea2f97d59240cbe4ea770aa7c88eef.tar.xz
linux-735b433397ea2f97d59240cbe4ea770aa7c88eef.zip
bpf: improve verifier state equivalence
since UNKNOWN_VALUE type is weaker than CONST_IMM we can un-teach verifier its recognition of constants in conditional branches without affecting safety. Ex: if (reg == 123) { .. here verifier was marking reg->type as CONST_IMM instead keep reg as UNKNOWN_VALUE } Two verifier states with UNKNOWN_VALUE are equivalent, whereas CONST_IMM_X != CONST_IMM_Y, since CONST_IMM is used for stack range verification and other cases. So help search pruning by marking registers as UNKNOWN_VALUE where possible instead of CONST_IMM. Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
0 files changed, 0 insertions, 0 deletions