diff for duplicates of <20200511185218.1422406-18-jakub@cloudflare.com>
diff --git a/a/1.txt b/N1/1.txt
index f5b53fd..15df988 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -159,8 +159,8 @@ index 000000000000..96765b156f6f
+
+static socklen_t inetaddr_len(const struct sockaddr_storage *addr)
+{
-+ return (addr->ss_family == AF_INET ? sizeof(struct sockaddr_in) :
-+ addr->ss_family == AF_INET6 ? sizeof(struct sockaddr_in6) : 0);
++ return (addr->ss_family = AF_INET ? sizeof(struct sockaddr_in) :
++ addr->ss_family = AF_INET6 ? sizeof(struct sockaddr_in6) : 0);
+}
+
+static int make_socket_with_addr(int sotype, const char *ip, int port,
@@ -206,7 +206,7 @@ index 000000000000..96765b156f6f
+ return -1;
+
+ /* Enabled for UDPv6 sockets for IPv4-mapped IPv6 to work. */
-+ if (sotype == SOCK_DGRAM) {
++ if (sotype = SOCK_DGRAM) {
+ err = setsockopt(fd, SOL_IP, IP_RECVORIGDSTADDR, &one,
+ sizeof(one));
+ if (CHECK_FAIL(err)) {
@@ -215,7 +215,7 @@ index 000000000000..96765b156f6f
+ }
+ }
+
-+ if (sotype == SOCK_DGRAM && addr.ss_family == AF_INET6) {
++ if (sotype = SOCK_DGRAM && addr.ss_family = AF_INET6) {
+ err = setsockopt(fd, SOL_IPV6, IPV6_RECVORIGDSTADDR, &one,
+ sizeof(one));
+ if (CHECK_FAIL(err)) {
@@ -224,7 +224,7 @@ index 000000000000..96765b156f6f
+ }
+ }
+
-+ if (sotype == SOCK_STREAM) {
++ if (sotype = SOCK_STREAM) {
+ err = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one,
+ sizeof(one));
+ if (CHECK_FAIL(err)) {
@@ -248,7 +248,7 @@ index 000000000000..96765b156f6f
+ goto fail;
+ }
+
-+ if (sotype == SOCK_STREAM) {
++ if (sotype = SOCK_STREAM) {
+ err = listen(fd, SOMAXCONN);
+ if (CHECK_FAIL(err)) {
+ log_err("failed to listen on port %d", port);
@@ -395,10 +395,10 @@ index 000000000000..96765b156f6f
+ }
+
+ for (cm = CMSG_FIRSTHDR(&msg); cm; cm = CMSG_NXTHDR(&msg, cm)) {
-+ if ((cm->cmsg_level == SOL_IP &&
-+ cm->cmsg_type == IP_ORIGDSTADDR) ||
-+ (cm->cmsg_level == SOL_IPV6 &&
-+ cm->cmsg_type == IPV6_ORIGDSTADDR)) {
++ if ((cm->cmsg_level = SOL_IP &&
++ cm->cmsg_type = IP_ORIGDSTADDR) ||
++ (cm->cmsg_level = SOL_IPV6 &&
++ cm->cmsg_type = IPV6_ORIGDSTADDR)) {
+ dst_addr = (struct sockaddr_storage *)CMSG_DATA(cm);
+ break;
+ }
@@ -411,8 +411,8 @@ index 000000000000..96765b156f6f
+ }
+
+ /* Server socket bound to IPv4-mapped IPv6 address */
-+ if (src_addr->ss_family == AF_INET6 &&
-+ dst_addr->ss_family == AF_INET) {
++ if (src_addr->ss_family = AF_INET6 &&
++ dst_addr->ss_family = AF_INET) {
+ v4_to_v6(dst_addr);
+ }
+
@@ -583,7 +583,7 @@ index 000000000000..96765b156f6f
+ log_err("wrong program count on query: %u", prog_cnt);
+ goto detach;
+ }
-+ if (CHECK_FAIL(prog_ids[0] == 0)) {
++ if (CHECK_FAIL(prog_ids[0] = 0)) {
+ log_err("invalid program id on query: %u", prog_ids[0]);
+ goto detach;
+ }
@@ -625,7 +625,7 @@ index 000000000000..96765b156f6f
+ /* reuseport prog always selects server B */
+ server_idx = t->reuseport_prog ? SERVER_B : SERVER_A;
+
-+ if (t->sotype == SOCK_STREAM)
++ if (t->sotype = SOCK_STREAM)
+ tcp_echo_test(client_fd, server_fds[server_idx]);
+ else
+ udp_echo_test(client_fd, server_fds[server_idx]);
@@ -786,14 +786,14 @@ index 000000000000..96765b156f6f
+ goto close_srv;
+
+ err = connect(client_fd, (void *)&dst, inetaddr_len(&dst));
-+ if (t->sotype == SOCK_DGRAM) {
++ if (t->sotype = SOCK_DGRAM) {
+ err = send_byte(client_fd);
+ if (err)
+ goto close_all;
+
+ /* Read out asynchronous error */
+ n = recv(client_fd, NULL, 0, 0);
-+ err = n == -1;
++ err = n = -1;
+ }
+ if (CHECK_FAIL(!err || errno != ECONNREFUSED))
+ log_err("expected ECONNREFUSED on connect");
@@ -876,14 +876,14 @@ index 000000000000..96765b156f6f
+ goto close_srv2;
+
+ err = connect(client, (void *)&dst, inetaddr_len(&dst));
-+ if (t->sotype == SOCK_DGRAM) {
++ if (t->sotype = SOCK_DGRAM) {
+ err = send_byte(client);
+ if (err)
+ goto close_all;
+
+ /* Read out asynchronous error */
+ n = recv(client, NULL, 0, 0);
-+ err = n == -1;
++ err = n = -1;
+ }
+ if (CHECK_FAIL(!err || errno != ECONNREFUSED))
+ log_err("expected ECONNREFUSED on connect");
diff --git a/a/content_digest b/N1/content_digest
index e870232..fb2a441 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,6 +1,3 @@
-[
- "ref\00020200511185218.1422406-1-jakub\@cloudflare.com\0"
-]
[
"From\0Jakub Sitnicki <jakub\@cloudflare.com>\0"
]
@@ -8,23 +5,10 @@
"Subject\0[PATCH bpf-next v2 17/17] selftests/bpf: Tests for BPF_SK_LOOKUP attach point\0"
]
[
- "Date\0Mon, 11 May 2020 20:52:18 +0200\0"
-]
-[
- "To\0netdev\@vger.kernel.org",
- " bpf\@vger.kernel.org\0"
+ "Date\0Mon, 11 May 2020 18:52:18 +0000\0"
]
[
- "Cc\0dccp\@vger.kernel.org",
- " kernel-team\@cloudflare.com",
- " Alexei Starovoitov <ast\@kernel.org>",
- " Daniel Borkmann <daniel\@iogearbox.net>",
- " David S. Miller <davem\@davemloft.net>",
- " Eric Dumazet <edumazet\@google.com>",
- " Gerrit Renker <gerrit\@erg.abdn.ac.uk>",
- " Jakub Kicinski <kuba\@kernel.org>",
- " Andrii Nakryiko <andrii.nakryiko\@gmail.com>",
- " Martin KaFai Lau <kafai\@fb.com>\0"
+ "To\0dccp\@vger.kernel.org\0"
]
[
"\0000:1\0"
@@ -194,8 +178,8 @@
"+\n",
"+static socklen_t inetaddr_len(const struct sockaddr_storage *addr)\n",
"+{\n",
- "+\treturn (addr->ss_family == AF_INET ? sizeof(struct sockaddr_in) :\n",
- "+\t\taddr->ss_family == AF_INET6 ? sizeof(struct sockaddr_in6) : 0);\n",
+ "+\treturn (addr->ss_family = AF_INET ? sizeof(struct sockaddr_in) :\n",
+ "+\t\taddr->ss_family = AF_INET6 ? sizeof(struct sockaddr_in6) : 0);\n",
"+}\n",
"+\n",
"+static int make_socket_with_addr(int sotype, const char *ip, int port,\n",
@@ -241,7 +225,7 @@
"+\t\treturn -1;\n",
"+\n",
"+\t/* Enabled for UDPv6 sockets for IPv4-mapped IPv6 to work. */\n",
- "+\tif (sotype == SOCK_DGRAM) {\n",
+ "+\tif (sotype = SOCK_DGRAM) {\n",
"+\t\terr = setsockopt(fd, SOL_IP, IP_RECVORIGDSTADDR, &one,\n",
"+\t\t\t\t sizeof(one));\n",
"+\t\tif (CHECK_FAIL(err)) {\n",
@@ -250,7 +234,7 @@
"+\t\t}\n",
"+\t}\n",
"+\n",
- "+\tif (sotype == SOCK_DGRAM && addr.ss_family == AF_INET6) {\n",
+ "+\tif (sotype = SOCK_DGRAM && addr.ss_family = AF_INET6) {\n",
"+\t\terr = setsockopt(fd, SOL_IPV6, IPV6_RECVORIGDSTADDR, &one,\n",
"+\t\t\t\t sizeof(one));\n",
"+\t\tif (CHECK_FAIL(err)) {\n",
@@ -259,7 +243,7 @@
"+\t\t}\n",
"+\t}\n",
"+\n",
- "+\tif (sotype == SOCK_STREAM) {\n",
+ "+\tif (sotype = SOCK_STREAM) {\n",
"+\t\terr = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one,\n",
"+\t\t\t\t sizeof(one));\n",
"+\t\tif (CHECK_FAIL(err)) {\n",
@@ -283,7 +267,7 @@
"+\t\tgoto fail;\n",
"+\t}\n",
"+\n",
- "+\tif (sotype == SOCK_STREAM) {\n",
+ "+\tif (sotype = SOCK_STREAM) {\n",
"+\t\terr = listen(fd, SOMAXCONN);\n",
"+\t\tif (CHECK_FAIL(err)) {\n",
"+\t\t\tlog_err(\"failed to listen on port %d\", port);\n",
@@ -430,10 +414,10 @@
"+\t}\n",
"+\n",
"+\tfor (cm = CMSG_FIRSTHDR(&msg); cm; cm = CMSG_NXTHDR(&msg, cm)) {\n",
- "+\t\tif ((cm->cmsg_level == SOL_IP &&\n",
- "+\t\t cm->cmsg_type == IP_ORIGDSTADDR) ||\n",
- "+\t\t (cm->cmsg_level == SOL_IPV6 &&\n",
- "+\t\t cm->cmsg_type == IPV6_ORIGDSTADDR)) {\n",
+ "+\t\tif ((cm->cmsg_level = SOL_IP &&\n",
+ "+\t\t cm->cmsg_type = IP_ORIGDSTADDR) ||\n",
+ "+\t\t (cm->cmsg_level = SOL_IPV6 &&\n",
+ "+\t\t cm->cmsg_type = IPV6_ORIGDSTADDR)) {\n",
"+\t\t\tdst_addr = (struct sockaddr_storage *)CMSG_DATA(cm);\n",
"+\t\t\tbreak;\n",
"+\t\t}\n",
@@ -446,8 +430,8 @@
"+\t}\n",
"+\n",
"+\t/* Server socket bound to IPv4-mapped IPv6 address */\n",
- "+\tif (src_addr->ss_family == AF_INET6 &&\n",
- "+\t dst_addr->ss_family == AF_INET) {\n",
+ "+\tif (src_addr->ss_family = AF_INET6 &&\n",
+ "+\t dst_addr->ss_family = AF_INET) {\n",
"+\t\tv4_to_v6(dst_addr);\n",
"+\t}\n",
"+\n",
@@ -618,7 +602,7 @@
"+\t\tlog_err(\"wrong program count on query: %u\", prog_cnt);\n",
"+\t\tgoto detach;\n",
"+\t}\n",
- "+\tif (CHECK_FAIL(prog_ids[0] == 0)) {\n",
+ "+\tif (CHECK_FAIL(prog_ids[0] = 0)) {\n",
"+\t\tlog_err(\"invalid program id on query: %u\", prog_ids[0]);\n",
"+\t\tgoto detach;\n",
"+\t}\n",
@@ -660,7 +644,7 @@
"+\t/* reuseport prog always selects server B */\n",
"+\tserver_idx = t->reuseport_prog ? SERVER_B : SERVER_A;\n",
"+\n",
- "+\tif (t->sotype == SOCK_STREAM)\n",
+ "+\tif (t->sotype = SOCK_STREAM)\n",
"+\t\ttcp_echo_test(client_fd, server_fds[server_idx]);\n",
"+\telse\n",
"+\t\tudp_echo_test(client_fd, server_fds[server_idx]);\n",
@@ -821,14 +805,14 @@
"+\t\tgoto close_srv;\n",
"+\n",
"+\terr = connect(client_fd, (void *)&dst, inetaddr_len(&dst));\n",
- "+\tif (t->sotype == SOCK_DGRAM) {\n",
+ "+\tif (t->sotype = SOCK_DGRAM) {\n",
"+\t\terr = send_byte(client_fd);\n",
"+\t\tif (err)\n",
"+\t\t\tgoto close_all;\n",
"+\n",
"+\t\t/* Read out asynchronous error */\n",
"+\t\tn = recv(client_fd, NULL, 0, 0);\n",
- "+\t\terr = n == -1;\n",
+ "+\t\terr = n = -1;\n",
"+\t}\n",
"+\tif (CHECK_FAIL(!err || errno != ECONNREFUSED))\n",
"+\t\tlog_err(\"expected ECONNREFUSED on connect\");\n",
@@ -911,14 +895,14 @@
"+\t\tgoto close_srv2;\n",
"+\n",
"+\terr = connect(client, (void *)&dst, inetaddr_len(&dst));\n",
- "+\tif (t->sotype == SOCK_DGRAM) {\n",
+ "+\tif (t->sotype = SOCK_DGRAM) {\n",
"+\t\terr = send_byte(client);\n",
"+\t\tif (err)\n",
"+\t\t\tgoto close_all;\n",
"+\n",
"+\t\t/* Read out asynchronous error */\n",
"+\t\tn = recv(client, NULL, 0, 0);\n",
- "+\t\terr = n == -1;\n",
+ "+\t\terr = n = -1;\n",
"+\t}\n",
"+\tif (CHECK_FAIL(!err || errno != ECONNREFUSED))\n",
"+\t\tlog_err(\"expected ECONNREFUSED on connect\");\n",
@@ -1235,4 +1219,4 @@
"2.25.3"
]
-fd17cd9e492b20b8212c9b4ad70381b0a0b583472a66b9b39ce1f0cd9095d33c
+4fd0be2d1545f6a39ad9015093f6e708bb9fdda55fcd0998a2f543cb82d011c3
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.