Re: [PATCH bpf-next 0/8] bpf: Follow up to RCU enforcement in the verifier.

Andrii Nakryiko
2023-04-05T00:02:49Z

On Tue, Apr 4, 2023 at 7:51 AM David Vernet <void@manifault.com> wrote:
>
> On Mon, Apr 03, 2023 at 09:50:21PM -0700, Alexei Starovoitov wrote:
> > From: Alexei Starovoitov <ast@kernel.org>
> >
> > The patch set is addressing a fallout from
> > commit 6fcd486b3a0a ("bpf: Refactor RCU enforcement in the verifier.")
> > It was too aggressive with PTR_UNTRUSTED marks.
> > Patches 1-6 are cleanup and adding verifier smartness to address real
> > use cases in bpf programs that broke with too aggressive PTR_UNTRUSTED.
> > The partial revert is done in patch 7 anyway.
> >
> > Alexei Starovoitov (8):
> > bpf: Invoke btf_struct_access() callback only for writes.
> > bpf: Remove unused arguments from btf_struct_access().
> > bpf: Refactor btf_nested_type_is_trusted().
> > bpf: Teach verifier that certain helpers accept NULL pointer.
> > bpf: Refactor NULL-ness check in check_reg_type().
> > bpf: Allowlist few fields similar to __rcu tag.
> > bpf: Undo strict enforcement for walking untagged fields.
> > selftests/bpf: Add tracing tests for walking skb and req.
>
> For whole series:
>
> Acked-by: David Vernet <void@manifault.com>

Added David's acks manually (we really need to teach pw-apply to do
this automatically...) and applied. I've added a single sentence to
patch #1 with why (I think) btf_struct_access() callback
simplification was done, I didn't want to hold the patch set just due
to that, as the rest looked good. But please do consider renaming the
callback to more write-access implying name as a follow up, as current
situation with the same name but different semantics is confusing.

Applied to bpf-next, thanks.

>
> I left one comment on 4/8 in [0], but it's not a blocker and everything
> else LGTM.
>
> [0]: https://lore.kernel.org/all/20230404144652.GA3896@maniforge/