[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200908175702.2463416-1-yhs@fb.com>
Date: Tue, 8 Sep 2020 10:57:02 -0700
From: Yonghong Song <yhs@...com>
To: <bpf@...r.kernel.org>, <netdev@...r.kernel.org>
CC: Alexei Starovoitov <ast@...nel.org>,
Daniel Borkmann <daniel@...earbox.net>, <kernel-team@...com>
Subject: [PATCH bpf-next v3 0/2] bpf: permit map_ptr arithmetic with opcode add and offset 0
With CORE, it is possible that the compiler may produce code like
r1 = 0 // relocation instruction
map_ptr += r1
...
Currently verifier does not allow map_ptr arithmetic, even for adding with 0.
This patch set relaxed the condition so the above code can be accepted.
Patch #1 is the kernel implementation and Patch #2 added selftest tests to
cover the new functionality.
Changelog:
v2 -> v3:
. only change hashmap subtest to use non-inline version of check_default(),
other subtests still used inline version. This will provide coverage for
both inline and non-inline check_default(). (Andrey)
v1 -> v2:
. add comment to clarify smin_val represents the const. (Andrii)
Yonghong Song (2):
bpf: permit map_ptr arithmetic with opcode add and offset 0
selftests/bpf: add test for map_ptr arithmetic
kernel/bpf/verifier.c | 4 +++
.../selftests/bpf/progs/map_ptr_kern.c | 10 +++++-
.../testing/selftests/bpf/verifier/map_ptr.c | 32 +++++++++++++++++++
3 files changed, 45 insertions(+), 1 deletion(-)
--
2.24.1
Powered by blists - more mailing lists