From: David Vernet <void@manifault.com>
To: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Cc: bpf@vger.kernel.org, Alexei Starovoitov <ast@kernel.org>,
Andrii Nakryiko <andrii@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Martin KaFai Lau <martin.lau@kernel.org>,
Joanne Koong <joannelkoong@gmail.com>
Subject: Re: [PATCH bpf-next v1 3/7] bpf: Rework process_dynptr_func
Date: Sun, 20 Nov 2022 12:16:02 -0600 [thread overview]
Message-ID: <Y3pu4tR0feM3/3t3@maniforge.lan> (raw)
In-Reply-To: <20221120180651.5zhi62yjsdgzqbyk@apollo>
On Sun, Nov 20, 2022 at 11:36:51PM +0530, Kumar Kartikeya Dwivedi wrote:
[...]
> > Not your change, but this is an awkwardly phrased error message. IMO
> > "dynptr must be initialized" is more succinct. Feel free to ignore if
> > you'd like, I'm happy to submit a separate patch to change it as some
> > point.
> >
>
> Feel free to, since I think unrelated changes should not be mixed in this patch.
No problem, will do.
[...]
> > > static int check_func_arg(struct bpf_verifier_env *env, u32 arg,
> > > @@ -6119,11 +6216,17 @@ static int check_func_arg(struct bpf_verifier_env *env, u32 arg,
> > > if (arg_type_is_release(arg_type)) {
> > > if (arg_type_is_dynptr(arg_type)) {
> > > struct bpf_func_state *state = func(env, reg);
> > > - int spi = get_spi(reg->off);
> > > + int spi;
> > >
> > > - if (!is_spi_bounds_valid(state, spi, BPF_DYNPTR_NR_SLOTS) ||
> > > - !state->stack[spi].spilled_ptr.id) {
> > > - verbose(env, "arg %d is an unacquired reference\n", regno);
> >
> > Can we add a comment here explaining why only PTR_TO_STACK dynptrs are
> > expected to be released? I know we have such comments elsewhere already,
> > but if we're going to have logic like this which is hard-coded against
> > assumptions of what types of dynptrs can be used in which contexts /
> > helpers, I think it is important to be verbose in calling that out as
> > it's not obvious from the code itself why this is the case.
> >
>
> Sure, but you mean a code comment, right?
Yep, a code comment.
[...]
next prev parent reply other threads:[~2022-11-20 18:16 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-15 0:01 [PATCH bpf-next v1 0/7] Dynptr refactorings Kumar Kartikeya Dwivedi
2022-11-15 0:01 ` [PATCH bpf-next v1 1/7] bpf: Refactor ARG_PTR_TO_DYNPTR checks into process_dynptr_func Kumar Kartikeya Dwivedi
2022-11-15 4:15 ` Joanne Koong
2022-11-15 0:01 ` [PATCH bpf-next v1 2/7] bpf: Propagate errors from process_* checks in check_func_arg Kumar Kartikeya Dwivedi
2022-11-15 3:53 ` Joanne Koong
2022-11-15 0:01 ` [PATCH bpf-next v1 3/7] bpf: Rework process_dynptr_func Kumar Kartikeya Dwivedi
2022-11-16 18:04 ` Joanne Koong
2022-11-17 21:11 ` David Vernet
2022-11-20 18:06 ` Kumar Kartikeya Dwivedi
2022-11-20 18:16 ` David Vernet [this message]
2022-11-15 0:01 ` [PATCH bpf-next v1 4/7] bpf: Rework check_func_arg_reg_off Kumar Kartikeya Dwivedi
2022-11-15 18:24 ` Joanne Koong
2022-11-17 23:42 ` David Vernet
2022-11-20 18:41 ` Kumar Kartikeya Dwivedi
2022-11-21 5:39 ` David Vernet
2022-11-15 0:01 ` [PATCH bpf-next v1 5/7] bpf: Move PTR_TO_STACK alignment check to process_dynptr_func Kumar Kartikeya Dwivedi
2022-11-15 18:29 ` Joanne Koong
2022-11-17 23:49 ` David Vernet
2022-11-20 19:10 ` Kumar Kartikeya Dwivedi
2022-11-20 19:40 ` Alexei Starovoitov
2022-11-20 21:02 ` Kumar Kartikeya Dwivedi
2022-11-21 7:27 ` David Vernet
2022-12-07 20:41 ` Kumar Kartikeya Dwivedi
2022-11-15 0:01 ` [PATCH bpf-next v1 6/7] bpf: Use memmove for bpf_dynptr_{read,write} Kumar Kartikeya Dwivedi
2022-11-17 23:51 ` David Vernet
2022-11-15 0:01 ` [PATCH bpf-next v1 7/7] selftests/bpf: Add test for dynptr reinit in user_ringbuf callback Kumar Kartikeya Dwivedi
2022-11-15 18:36 ` Joanne Koong
2022-11-15 19:41 ` Kumar Kartikeya Dwivedi
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=Y3pu4tR0feM3/3t3@maniforge.lan \
--to=void@manifault.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=joannelkoong@gmail.com \
--cc=martin.lau@kernel.org \
--cc=memxor@gmail.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.