From: Willem de Bruijn <will...@google.com>

Commit efc6b6f6c311 ("udp: Improve load balancing for SO_REUSEPORT.")

in net conflicts with

Commit 72f7e9440e9b ("udp: Run SK_LOOKUP BPF program on socket lookup")

in bpf-next.

Commit 4a0e87bb1836 ("udp: Don't discard reuseport selection when group
has connections")

also in bpf-next reduces the conflict.

Further simplify by applying the main change of the first commit to
bpf-next. After this a conflict remains, but the bpf-next side can be
taken as is.

Now unused variable reuseport_result added in net must also be
removed. That applies without a conflict, so is harder to spot.

Link: 
http://patchwork.ozlabs.org/project/netdev/patch/20200722165227.51046-1-kun...@amazon.co.jp/
Signed-off-by: Willem de Bruijn <will...@google.com>
---
 net/ipv4/udp.c | 3 ++-
 net/ipv6/udp.c | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index 9397690b3737..67f8e880d7f3 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -448,7 +448,8 @@ static struct sock *udp4_lib_lookup2(struct net *net,
                                return result;
 
                        badness = score;
-                       result = sk;
+                       if (!result)
+                               result = sk;
                }
        }
        return result;
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index ed282b0fe8ac..827a01b50b9b 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -180,8 +180,9 @@ static struct sock *udp6_lib_lookup2(struct net *net,
                        if (result && !reuseport_has_conns(sk, false))
                                return result;
 
-                       result = sk;
                        badness = score;
+                       if (!result)
+                               result = sk;
                }
        }
        return result;
-- 
2.28.0.rc0.142.g3c755180ce-goog

Reply via email to