bpf: allow self-xor operation
authorStephen Hemminger <stephen@networkplumber.org>
Wed, 20 Oct 2021 21:42:27 +0000 (14:42 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 22 Oct 2021 15:19:13 +0000 (17:19 +0200)
commit80da61198b6be66ab16964eb0944c79c0325c40e
treed2c4f6dda42c7f06fc8572e96e11e32e9bec8e18
parent8dd1a4e4ff402c970c45003542c17e1e3501c540
bpf: allow self-xor operation

Some BPF programs may use XOR of a register with itself
as a way to zero register in one instruction.
The BPF filter converter generates this in the prolog
to the generated code.

The BPF validator would not allow this because the value of
register was undefined. But after this operation it always zero.

Fixes: 8021917293d0 ("bpf: add extra validation for input BPF program")
Cc: stable@dpdk.org
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
lib/bpf/bpf_validate.c