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

Andrii Nakryiko
2023-04-05T17:22:44Z

On Tue, Apr 4, 2023 at 6:51 PM Jakub Kicinski <kuba@kernel.org> wrote:
>
> On Tue, 4 Apr 2023 17:16:27 -0700 Alexei Starovoitov wrote:
> > > Added David's acks manually (we really need to teach pw-apply to do
> > > this automatically...) and applied.
> >
> > +1
> > I was hoping that patchwork will add this feature eventually,
> > but it seems faster to hack the pw-apply script instead.
>
> pw-apply can kind of do it. It exports an env variable called ADD_TAGS
> if it spots any tags in reply to the cover letter.
>
> You need to add a snippet like this to your .git/hooks/applypatch-msg:
>
> while IFS= read -r tag; do
> echo -e Adding tag: '\e[35m'$tag'\e[0m'
> git interpret-trailers --in-place \
> --if-exists=addIfDifferent \
> --trailer "$tag" \
> "$1"
> done <<< "$ADD_TAGS"
>
> to transfer those tags onto the commits.
>
> Looking at the code you may also need to use -M to get ADD_TAGS
> exported. I'm guessing I put this code under -M so that the extra curl
> requests don't slow down the script for everyone. But we can probably
> "graduate" that into the main body if you find it useful and hate -M :)

So I'm exclusively using `pw-apply -c <patchworks-url>` to apply
everything locally. I'd expect that at this time the script would
detect any Acked-by replies on *cover letter patch*, and apply them
across all patches in the series. Such that we (humans) can look at
them, fix them, add them, etc. Doing something like this in git hook
seems unnecessary?

So I think the only thing that's missing is the code that would fetch
all replies on the cover letter "patch" (e.g., like on [0]) and just
apply it across everything. We must be doing something like this for
acks on individual patches, so I imagine we are not far off to make
this work, but I haven't looked at pw-apply carefully enough to know
for sure.

[0] https://patchwork.kernel.org/project/netdevbpf/cover/20230404045029.82870-1-alexei.starovoitov@gmail.com/