[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1525127296-3573-1-git-send-email-jiong.wang@netronome.com>
Date: Mon, 30 Apr 2018 18:28:13 -0400
From: Jiong Wang <jiong.wang@...ronome.com>
To: alexei.starovoitov@...il.com, borkmann@...earbox.net
Cc: ecree@...arflare.com, netdev@...r.kernel.org,
oss-drivers@...ronome.com, Jiong Wang <jiong.wang@...ronome.com>
Subject: [PATCH bpf-next 0/3] bpf: cleanups on managing subprog information
This patch set clean up some code logic related with managing subprog
information.
Part of the set are inspried by Edwin's code in his RFC:
"bpf/verifier: subprog/func_call simplifications"
but with clearer separation so it could be easier to review.
- Path 1 unifies main prog and subprogs. All of them are registered in
env->subprog_starts.
- After patch 1, it is clear that subprog_starts and subprog_stack_depth
could be merged as both of them now have main and subprog unified.
Patch 2 therefore does the merge, all subprog information are centred
at bpf_subprog_info.
- Patch 3 goes further to introduce a new fake "exit" subprog which
serves as an ending marker to the subprog list. We could then turn the
following code snippets across verifier:
if (env->subprog_cnt == cur_subprog + 1)
subprog_end = insn_cnt;
else
subprog_end = env->subprog_info[cur_subprog + 1].start;
into:
subprog_end = env->subprog_info[cur_subprog + 1].start;
There is no functional change by this patch set.
No bpf selftest regression found after this patch set.
Jiong Wang (3):
bpf: unify main prog and subprog
bpf: centre subprog information fields
bpf: add faked "ending" subprog
include/linux/bpf_verifier.h | 9 ++--
kernel/bpf/verifier.c | 118 +++++++++++++++++++++----------------------
2 files changed, 65 insertions(+), 62 deletions(-)
--
2.7.4
Powered by blists - more mailing lists