From: John Fastabend <john.fastabend@gmail.com>
To: Andrii Nakryiko <andrii@kernel.org>,
bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net
Cc: andrii@kernel.org, kernel-team@fb.com
Subject: RE: [PATCH bpf-next 2/3] bpf: mostly decouple jump history management from is_state_visited()
Date: Tue, 06 Dec 2022 14:01:08 -0800 [thread overview]
Message-ID: <638fbba496dd9_8a912082f@john.notmuch> (raw)
In-Reply-To: <20221202051030.3100390-3-andrii@kernel.org>
Andrii Nakryiko wrote:
> Jump history updating and state equivalence checks are conceptually
> independent, so move push_jmp_history() out of is_state_visited(). Also
> make a decision whether to perform state equivalence checks or not one
> layer higher in do_check(), keeping is_state_visited() unconditionally
> performing state checks.
>
> push_jmp_history() should be performed after state checks. There is just
> one small non-uniformity. When is_state_visited() finds already
> validated equivalent state, it propagates precision marks to current
> state's parent chain. For this to work correctly, jump history has to be
> updated, so is_state_visited() is doing that internally.
>
> But if no equivalent verified state is found, jump history has to be
> updated in a newly cloned child state, so is_jmp_point()
> + push_jmp_history() is performed after is_state_visited() exited with
> zero result, which means "proceed with validation".
>
> This change has no functional changes. It's not strictly necessary, but
> feels right to decouple these two processes.
>
> Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
> ---
Acked-by: John Fastabend <john.fastabend@gmail.com>
next prev parent reply other threads:[~2022-12-06 22:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-02 5:10 [PATCH bpf-next 0/3] Refactor verifier prune and jump point handling Andrii Nakryiko
2022-12-02 5:10 ` [PATCH bpf-next 1/3] bpf: decouple prune and jump points Andrii Nakryiko
2022-12-06 21:42 ` John Fastabend
2022-12-06 23:05 ` Andrii Nakryiko
2022-12-02 5:10 ` [PATCH bpf-next 2/3] bpf: mostly decouple jump history management from is_state_visited() Andrii Nakryiko
2022-12-06 22:01 ` John Fastabend [this message]
2022-12-02 5:10 ` [PATCH bpf-next 3/3] bpf: remove unnecessary prune and jump points Andrii Nakryiko
2022-12-06 22:19 ` John Fastabend
2022-12-06 23:19 ` Andrii Nakryiko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=638fbba496dd9_8a912082f@john.notmuch \
--to=john.fastabend@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=kernel-team@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.