Re: linux-next: manual merge of the bpf-next tree with the net-next tree

From: Arjun Roy
Date: Sun Feb 14 2021 - 16:41:53 EST


On Sun, Feb 14, 2021 at 1:13 PM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> On Mon, 25 Jan 2021 11:12:23 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> >
> > Today's linux-next merge of the bpf-next tree got a conflict in:
> >
> > net/ipv4/tcp.c
> >
> > between commit:
> >
> > 7eeba1706eba ("tcp: Add receive timestamp support for receive zerocopy.")
> >
> > from the net-next tree and commit:
> >
> > 9cacf81f8161 ("bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE")
> >
> > from the bpf-next tree.
> >
> > I fixed it up (see below) and can carry the fix as necessary. This
> > is now fixed as far as linux-next is concerned, but any non trivial
> > conflicts should be mentioned to your upstream maintainer when your tree
> > is submitted for merging. You may also want to consider cooperating
> > with the maintainer of the conflicting tree to minimise any particularly
> > complex conflicts.
> >
> > diff --cc net/ipv4/tcp.c
> > index e1a17c6b473c,26aa923cf522..000000000000
> > --- a/net/ipv4/tcp.c
> > +++ b/net/ipv4/tcp.c
> > @@@ -4160,18 -4098,13 +4160,20 @@@ static int do_tcp_getsockopt(struct soc
> > if (copy_from_user(&zc, optval, len))
> > return -EFAULT;
> > lock_sock(sk);
> > - err = tcp_zerocopy_receive(sk, &zc);
> > + err = tcp_zerocopy_receive(sk, &zc, &tss);
> > + err = BPF_CGROUP_RUN_PROG_GETSOCKOPT_KERN(sk, level, optname,
> > + &zc, &len, err);
> > release_sock(sk);
> > - if (len >= offsetofend(struct tcp_zerocopy_receive, err))
> > - goto zerocopy_rcv_sk_err;
> > + if (len >= offsetofend(struct tcp_zerocopy_receive, msg_flags))
> > + goto zerocopy_rcv_cmsg;
> > switch (len) {
> > + case offsetofend(struct tcp_zerocopy_receive, msg_flags):
> > + goto zerocopy_rcv_cmsg;
> > + case offsetofend(struct tcp_zerocopy_receive, msg_controllen):
> > + case offsetofend(struct tcp_zerocopy_receive, msg_control):
> > + case offsetofend(struct tcp_zerocopy_receive, flags):
> > + case offsetofend(struct tcp_zerocopy_receive, copybuf_len):
> > + case offsetofend(struct tcp_zerocopy_receive, copybuf_address):
> > case offsetofend(struct tcp_zerocopy_receive, err):
> > goto zerocopy_rcv_sk_err;
> > case offsetofend(struct tcp_zerocopy_receive, inq):
>
> With the merge window about to open, this is a reminder that this
> conflict still exists.
>
Sorry, I was confused from the prior email. Is any action required at
the moment, or not?

Thanks,
-Arjun

> --
> Cheers,
> Stephen Rothwell