On Tue, 23 Jul 2024 at 02:58, Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > 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. Yes, iter_next is ok (see reply here: https://lore.kernel.org/bpf/CAP01T74pq7pozpMi_LJUA8wehjpATMR3oM4vj7HHxohBPb0LbA@xxxxxxxxxxxxxx/). But number 1 doesn't seem ok. Number 2 should now be possible if I'm not mistaken.