bpf: fix state equivalence
authorAlexei Starovoitov <ast@fb.com>
Wed, 7 Dec 2016 18:57:59 +0000 (10:57 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Dec 2016 18:31:11 +0000 (13:31 -0500)
commitd2a4dd37f6b41fbcad76efbf63124eb3126c66fe
treebc95a7d565111605886a99832603452c5f9bd8b1
parent3665f3817cd354ab7a811b3a4f282c4f5cb1a0d0
bpf: fix state equivalence

Commmits 57a09bf0a416 ("bpf: Detect identical PTR_TO_MAP_VALUE_OR_NULL registers")
and 484611357c19 ("bpf: allow access into map value arrays") by themselves
are correct, but in combination they make state equivalence ignore 'id' field
of the register state which can lead to accepting invalid program.

Fixes: 57a09bf0a416 ("bpf: Detect identical PTR_TO_MAP_VALUE_OR_NULL registers")
Fixes: 484611357c19 ("bpf: allow access into map value arrays")
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/bpf_verifier.h
kernel/bpf/verifier.c