]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Jun 2020 10:53:01 +0000 (12:53 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Jun 2020 10:53:01 +0000 (12:53 +0200)
added patches:
selftests-bpf-fix-use-of-undeclared-ret_if-macro.patch

queue-4.19/selftests-bpf-fix-use-of-undeclared-ret_if-macro.patch [new file with mode: 0644]
queue-4.19/series

diff --git a/queue-4.19/selftests-bpf-fix-use-of-undeclared-ret_if-macro.patch b/queue-4.19/selftests-bpf-fix-use-of-undeclared-ret_if-macro.patch
new file mode 100644 (file)
index 0000000..1db94b1
--- /dev/null
@@ -0,0 +1,65 @@
+From lmb@cloudflare.com  Thu Jun 11 12:52:08 2020
+From: Lorenz Bauer <lmb@cloudflare.com>
+Date: Thu, 21 May 2020 15:48:41 +0100
+Subject: selftests: bpf: fix use of undeclared RET_IF macro
+To: stable@vger.kernel.org
+Cc: kernel-team@cloudflare.com, Lorenz Bauer <lmb@cloudflare.com>, kernel test robot <rong.a.chen@intel.com>
+Message-ID: <20200521144841.7074-1-lmb@cloudflare.com>
+
+From: Lorenz Bauer <lmb@cloudflare.com>
+
+commit 634efb750435 ("selftests: bpf: Reset global state between
+reuseport test runs") uses a macro RET_IF which doesn't exist in
+the v4.19 tree. It is defined as follows:
+
+        #define RET_IF(condition, tag, format...) ({
+                if (CHECK_FAIL(condition)) {
+                        printf(tag " " format);
+                        return;
+                }
+        })
+
+CHECK_FAIL in turn is defined as:
+
+        #define CHECK_FAIL(condition) ({
+                int __ret = !!(condition);
+                int __save_errno = errno;
+                if (__ret) {
+                        test__fail();
+                        fprintf(stdout, "%s:FAIL:%d\n", __func__, __LINE__);
+                }
+                errno = __save_errno;
+                __ret;
+        })
+
+Replace occurences of RET_IF with CHECK. This will abort the test binary
+if clearing the intermediate state fails.
+
+Fixes: 634efb750435 ("selftests: bpf: Reset global state between reuseport test runs")
+Reported-by: kernel test robot <rong.a.chen@intel.com>
+Signed-off-by: Lorenz Bauer <lmb@cloudflare.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ tools/testing/selftests/bpf/test_select_reuseport.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/tools/testing/selftests/bpf/test_select_reuseport.c
++++ b/tools/testing/selftests/bpf/test_select_reuseport.c
+@@ -616,13 +616,13 @@ static void cleanup_per_test(void)
+       for (i = 0; i < NR_RESULTS; i++) {
+               err = bpf_map_update_elem(result_map, &i, &zero, BPF_ANY);
+-              RET_IF(err, "reset elem in result_map",
+-                     "i:%u err:%d errno:%d\n", i, err, errno);
++              CHECK(err, "reset elem in result_map",
++                    "i:%u err:%d errno:%d\n", i, err, errno);
+       }
+       err = bpf_map_update_elem(linum_map, &zero, &zero, BPF_ANY);
+-      RET_IF(err, "reset line number in linum_map", "err:%d errno:%d\n",
+-             err, errno);
++      CHECK(err, "reset line number in linum_map", "err:%d errno:%d\n",
++            err, errno);
+       for (i = 0; i < REUSEPORT_ARRAY_SIZE; i++)
+               close(sk_fds[i]);
index f1041cd19a3aff9e884e1569415a0cbb06d21fa2..ca379f79267882f00a0b3c6046d4089dc6dd1f09 100644 (file)
@@ -3,3 +3,4 @@ net_failover-fixed-rollback-in-net_failover_open.patch
 bridge-avoid-infinite-loop-when-suppressing-ns-messages-with-invalid-options.patch
 vxlan-avoid-infinite-loop-when-suppressing-ns-messages-with-invalid-options.patch
 tun-correct-header-offsets-in-napi-frags-mode.patch
+selftests-bpf-fix-use-of-undeclared-ret_if-macro.patch