On Mon, Aug 12, 2024 at 01:05:19PM -0700, Andrii Nakryiko wrote: > On Fri, Aug 9, 2024 at 8:29???PM Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote: > > > > On Thu, Aug 08, 2024 at 09:51:34AM -0700, Alexei Starovoitov wrote: > > > > > The bpf changes look ok and Andrii's approach is easier to grasp. > > > It's better to route bpf conversion to CLASS(fd,..) via bpf-next, > > > so it goes through bpf CI and our other testing. > > > > > > bpf patches don't seem to depend on newly added CLASS(fd_pos, ... > > > and fderr, so pretty much independent from other patches. > > > > Representation change and switch to accessors do matter, though. > > OTOH, I can put just those into never-rebased branch (basically, > > "introduce fd_file(), convert all accessors to it" + > > "struct fd representation change" + possibly "add struct fd constructors, > > get rid of __to_fd()", for completeness sake), so you could pull it. > > Otherwise you'll get textual conflicts on all those f.file vs. fd_file(f)... > > Yep, makes sense. Let's do that, we can merge that branch into > bpf-next/master and I will follow up with my changes on top of that. > > Let's just drop the do_one_ldimm64() extraction, and keep fdput(f) > logic, plus add fd_file() accessor changes. I'll then add a switch to > CLASS(fd) after a bit more BPF-specific clean ups. This code is pretty > sensitive, so I'd rather have all the non-trivial refactoring done > separately. Thanks! Done (#stable-struct_fd); BTW, which tree do you want "convert __bpf_prog_get() to CLASS(fd)" to go through?