Re: [RFC PATCH bpf-next RESEND 00/16] bpf: Checkpoint/Restore In eBPF (CRIB)

From: Alexei Starovoitov
Date: Mon Jul 22 2024 - 20:58:28 EST


On Mon, Jul 22, 2024 at 5:50 PM Kumar Kartikeya Dwivedi
<memxor@xxxxxxxxx> wrote:
>
> >
> > > Currently we cannot pass the pointer returned by the iterator next
> > > method as argument to the KF_TRUSTED_ARGS kfuncs, because the pointer
> > > returned by the iterator next method is not "valid".
>
> I've replied to this particular patch to explain what exact unsafety
> it might introduce.

What do you mean?
I think we can make the return value from iter_next() trusted in
certain cases.
For example bpf_iter_task_next() returns task_struct and it
can be safely marked as MEM_RCU, since the whole iterator is
KF_RCU_PROTECTED.