]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Drop selftests-bpf-convert-test_global_funcs-test-to-test.patch
authorSasha Levin <sashal@kernel.org>
Mon, 25 Mar 2024 11:33:34 +0000 (07:33 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 25 Mar 2024 11:33:34 +0000 (07:33 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-6.1/selftests-bpf-convert-test_global_funcs-test-to-test.patch [deleted file]
queue-6.1/series

diff --git a/queue-6.1/selftests-bpf-convert-test_global_funcs-test-to-test.patch b/queue-6.1/selftests-bpf-convert-test_global_funcs-test-to-test.patch
deleted file mode 100644 (file)
index 9801dc5..0000000
+++ /dev/null
@@ -1,647 +0,0 @@
-From 0e138c9aba7500555af6dee0d2a3dc48ced1c11c Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 15 Feb 2023 20:59:53 -0800
-Subject: selftests/bpf: Convert test_global_funcs test to test_loader
- framework
-
-From: Andrii Nakryiko <andrii@kernel.org>
-
-[ Upstream commit 95ebb376176c52382293e05e63f142114a5e40ef ]
-
-Convert 17 test_global_funcs subtests into test_loader framework for
-easier maintenance and more declarative way to define expected
-failures/successes.
-
-Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
-Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
-Acked-by: Stanislav Fomichev <sdf@google.com>
-Link: https://lore.kernel.org/bpf/20230216045954.3002473-3-andrii@kernel.org
-Stable-dep-of: 879bbe7aa4af ("bpf: don't infer PTR_TO_CTX for programs with unnamed context type")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- .../bpf/prog_tests/test_global_funcs.c        | 131 +++++-------------
- .../selftests/bpf/progs/test_global_func1.c   |   6 +-
- .../selftests/bpf/progs/test_global_func10.c  |   4 +-
- .../selftests/bpf/progs/test_global_func11.c  |   4 +-
- .../selftests/bpf/progs/test_global_func12.c  |   4 +-
- .../selftests/bpf/progs/test_global_func13.c  |   4 +-
- .../selftests/bpf/progs/test_global_func14.c  |   4 +-
- .../selftests/bpf/progs/test_global_func15.c  |   4 +-
- .../selftests/bpf/progs/test_global_func16.c  |   4 +-
- .../selftests/bpf/progs/test_global_func17.c  |   4 +-
- .../selftests/bpf/progs/test_global_func2.c   |  43 +++++-
- .../selftests/bpf/progs/test_global_func3.c   |  10 +-
- .../selftests/bpf/progs/test_global_func4.c   |  55 +++++++-
- .../selftests/bpf/progs/test_global_func5.c   |   4 +-
- .../selftests/bpf/progs/test_global_func6.c   |   4 +-
- .../selftests/bpf/progs/test_global_func7.c   |   4 +-
- .../selftests/bpf/progs/test_global_func8.c   |   4 +-
- .../selftests/bpf/progs/test_global_func9.c   |   4 +-
- 18 files changed, 174 insertions(+), 123 deletions(-)
-
-diff --git a/tools/testing/selftests/bpf/prog_tests/test_global_funcs.c b/tools/testing/selftests/bpf/prog_tests/test_global_funcs.c
-index 7295cc60f7248..2ff4d5c7abfce 100644
---- a/tools/testing/selftests/bpf/prog_tests/test_global_funcs.c
-+++ b/tools/testing/selftests/bpf/prog_tests/test_global_funcs.c
-@@ -1,104 +1,41 @@
- // SPDX-License-Identifier: GPL-2.0
- /* Copyright (c) 2020 Facebook */
- #include <test_progs.h>
--
--const char *err_str;
--bool found;
--
--static int libbpf_debug_print(enum libbpf_print_level level,
--                            const char *format, va_list args)
--{
--      char *log_buf;
--
--      if (level != LIBBPF_WARN ||
--          strcmp(format, "libbpf: \n%s\n")) {
--              vprintf(format, args);
--              return 0;
--      }
--
--      log_buf = va_arg(args, char *);
--      if (!log_buf)
--              goto out;
--      if (err_str && strstr(log_buf, err_str) == 0)
--              found = true;
--out:
--      printf(format, log_buf);
--      return 0;
--}
--
--extern int extra_prog_load_log_flags;
--
--static int check_load(const char *file)
--{
--      struct bpf_object *obj = NULL;
--      struct bpf_program *prog;
--      int err;
--
--      found = false;
--
--      obj = bpf_object__open_file(file, NULL);
--      err = libbpf_get_error(obj);
--      if (err)
--              return err;
--
--      prog = bpf_object__next_program(obj, NULL);
--      if (!prog) {
--              err = -ENOENT;
--              goto err_out;
--      }
--
--      bpf_program__set_flags(prog, BPF_F_TEST_RND_HI32);
--      bpf_program__set_log_level(prog, extra_prog_load_log_flags);
--
--      err = bpf_object__load(obj);
--
--err_out:
--      bpf_object__close(obj);
--      return err;
--}
--
--struct test_def {
--      const char *file;
--      const char *err_str;
--};
-+#include "test_global_func1.skel.h"
-+#include "test_global_func2.skel.h"
-+#include "test_global_func3.skel.h"
-+#include "test_global_func4.skel.h"
-+#include "test_global_func5.skel.h"
-+#include "test_global_func6.skel.h"
-+#include "test_global_func7.skel.h"
-+#include "test_global_func8.skel.h"
-+#include "test_global_func9.skel.h"
-+#include "test_global_func10.skel.h"
-+#include "test_global_func11.skel.h"
-+#include "test_global_func12.skel.h"
-+#include "test_global_func13.skel.h"
-+#include "test_global_func14.skel.h"
-+#include "test_global_func15.skel.h"
-+#include "test_global_func16.skel.h"
-+#include "test_global_func17.skel.h"
- void test_test_global_funcs(void)
- {
--      struct test_def tests[] = {
--              { "test_global_func1.bpf.o", "combined stack size of 4 calls is 544" },
--              { "test_global_func2.bpf.o" },
--              { "test_global_func3.bpf.o", "the call stack of 8 frames" },
--              { "test_global_func4.bpf.o" },
--              { "test_global_func5.bpf.o", "expected pointer to ctx, but got PTR" },
--              { "test_global_func6.bpf.o", "modified ctx ptr R2" },
--              { "test_global_func7.bpf.o", "foo() doesn't return scalar" },
--              { "test_global_func8.bpf.o" },
--              { "test_global_func9.bpf.o" },
--              { "test_global_func10.bpf.o", "invalid indirect read from stack" },
--              { "test_global_func11.bpf.o", "Caller passes invalid args into func#1" },
--              { "test_global_func12.bpf.o", "invalid mem access 'mem_or_null'" },
--              { "test_global_func13.bpf.o", "Caller passes invalid args into func#1" },
--              { "test_global_func14.bpf.o", "reference type('FWD S') size cannot be determined" },
--              { "test_global_func15.bpf.o", "At program exit the register R0 has value" },
--              { "test_global_func16.bpf.o", "invalid indirect read from stack" },
--              { "test_global_func17.bpf.o", "Caller passes invalid args into func#1" },
--      };
--      libbpf_print_fn_t old_print_fn = NULL;
--      int err, i, duration = 0;
--
--      old_print_fn = libbpf_set_print(libbpf_debug_print);
--
--      for (i = 0; i < ARRAY_SIZE(tests); i++) {
--              const struct test_def *test = &tests[i];
--
--              if (!test__start_subtest(test->file))
--                      continue;
--
--              err_str = test->err_str;
--              err = check_load(test->file);
--              CHECK_FAIL(!!err ^ !!err_str);
--              if (err_str)
--                      CHECK(found, "", "expected string '%s'", err_str);
--      }
--      libbpf_set_print(old_print_fn);
-+      RUN_TESTS(test_global_func1);
-+      RUN_TESTS(test_global_func2);
-+      RUN_TESTS(test_global_func3);
-+      RUN_TESTS(test_global_func4);
-+      RUN_TESTS(test_global_func5);
-+      RUN_TESTS(test_global_func6);
-+      RUN_TESTS(test_global_func7);
-+      RUN_TESTS(test_global_func8);
-+      RUN_TESTS(test_global_func9);
-+      RUN_TESTS(test_global_func10);
-+      RUN_TESTS(test_global_func11);
-+      RUN_TESTS(test_global_func12);
-+      RUN_TESTS(test_global_func13);
-+      RUN_TESTS(test_global_func14);
-+      RUN_TESTS(test_global_func15);
-+      RUN_TESTS(test_global_func16);
-+      RUN_TESTS(test_global_func17);
- }
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func1.c b/tools/testing/selftests/bpf/progs/test_global_func1.c
-index 7b42dad187b89..23970a20b3249 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func1.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func1.c
-@@ -3,10 +3,9 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
--#ifndef MAX_STACK
- #define MAX_STACK (512 - 3 * 32 + 8)
--#endif
- static __attribute__ ((noinline))
- int f0(int var, struct __sk_buff *skb)
-@@ -39,7 +38,8 @@ int f3(int val, struct __sk_buff *skb, int var)
- }
- SEC("tc")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("combined stack size of 4 calls is 544")
-+int global_func1(struct __sk_buff *skb)
- {
-       return f0(1, skb) + f1(skb) + f2(2, skb) + f3(3, skb, 4);
- }
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func10.c b/tools/testing/selftests/bpf/progs/test_global_func10.c
-index 97b7031d0e227..98327bdbbfd24 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func10.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func10.c
-@@ -2,6 +2,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- struct Small {
-       int x;
-@@ -21,7 +22,8 @@ __noinline int foo(const struct Big *big)
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("invalid indirect read from stack")
-+int global_func10(struct __sk_buff *skb)
- {
-       const struct Small small = {.x = skb->len };
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func11.c b/tools/testing/selftests/bpf/progs/test_global_func11.c
-index ef5277d982d92..283e036dc401e 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func11.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func11.c
-@@ -2,6 +2,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- struct S {
-       int x;
-@@ -13,7 +14,8 @@ __noinline int foo(const struct S *s)
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("Caller passes invalid args into func#1")
-+int global_func11(struct __sk_buff *skb)
- {
-       return foo((const void *)skb);
- }
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func12.c b/tools/testing/selftests/bpf/progs/test_global_func12.c
-index 62343527cc598..7f159d83c6f67 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func12.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func12.c
-@@ -2,6 +2,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- struct S {
-       int x;
-@@ -13,7 +14,8 @@ __noinline int foo(const struct S *s)
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("invalid mem access 'mem_or_null'")
-+int global_func12(struct __sk_buff *skb)
- {
-       const struct S s = {.x = skb->len };
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func13.c b/tools/testing/selftests/bpf/progs/test_global_func13.c
-index ff8897c1ac22b..02ea80da75b57 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func13.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func13.c
-@@ -2,6 +2,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- struct S {
-       int x;
-@@ -16,7 +17,8 @@ __noinline int foo(const struct S *s)
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("Caller passes invalid args into func#1")
-+int global_func13(struct __sk_buff *skb)
- {
-       const struct S *s = (const struct S *)(0xbedabeda);
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func14.c b/tools/testing/selftests/bpf/progs/test_global_func14.c
-index 698c77199ebf7..33b7d5efd7b26 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func14.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func14.c
-@@ -2,6 +2,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- struct S;
-@@ -14,7 +15,8 @@ __noinline int foo(const struct S *s)
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("reference type('FWD S') size cannot be determined")
-+int global_func14(struct __sk_buff *skb)
- {
-       return foo(NULL);
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func15.c b/tools/testing/selftests/bpf/progs/test_global_func15.c
-index c19c435988d55..b512d6a6c75e5 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func15.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func15.c
-@@ -2,6 +2,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- __noinline int foo(unsigned int *v)
- {
-@@ -12,7 +13,8 @@ __noinline int foo(unsigned int *v)
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("At program exit the register R0 has value")
-+int global_func15(struct __sk_buff *skb)
- {
-       unsigned int v = 1;
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func16.c b/tools/testing/selftests/bpf/progs/test_global_func16.c
-index 0312d1e8d8c06..e7206304632e1 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func16.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func16.c
-@@ -2,6 +2,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- __noinline int foo(int (*arr)[10])
- {
-@@ -12,7 +13,8 @@ __noinline int foo(int (*arr)[10])
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("invalid indirect read from stack")
-+int global_func16(struct __sk_buff *skb)
- {
-       int array[10];
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func17.c b/tools/testing/selftests/bpf/progs/test_global_func17.c
-index 2b8b9b8ba0183..a32e11c7d933e 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func17.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func17.c
-@@ -1,6 +1,7 @@
- // SPDX-License-Identifier: GPL-2.0-only
- #include <vmlinux.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- __noinline int foo(int *p)
- {
-@@ -10,7 +11,8 @@ __noinline int foo(int *p)
- const volatile int i;
- SEC("tc")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("Caller passes invalid args into func#1")
-+int global_func17(struct __sk_buff *skb)
- {
-       return foo((int *)&i);
- }
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func2.c b/tools/testing/selftests/bpf/progs/test_global_func2.c
-index 2c18d82923a2d..3dce97fb52a4b 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func2.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func2.c
-@@ -1,4 +1,45 @@
- // SPDX-License-Identifier: GPL-2.0-only
- /* Copyright (c) 2020 Facebook */
-+#include <stddef.h>
-+#include <linux/bpf.h>
-+#include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
-+
- #define MAX_STACK (512 - 3 * 32)
--#include "test_global_func1.c"
-+
-+static __attribute__ ((noinline))
-+int f0(int var, struct __sk_buff *skb)
-+{
-+      return skb->len;
-+}
-+
-+__attribute__ ((noinline))
-+int f1(struct __sk_buff *skb)
-+{
-+      volatile char buf[MAX_STACK] = {};
-+
-+      return f0(0, skb) + skb->len;
-+}
-+
-+int f3(int, struct __sk_buff *skb, int);
-+
-+__attribute__ ((noinline))
-+int f2(int val, struct __sk_buff *skb)
-+{
-+      return f1(skb) + f3(val, skb, 1);
-+}
-+
-+__attribute__ ((noinline))
-+int f3(int val, struct __sk_buff *skb, int var)
-+{
-+      volatile char buf[MAX_STACK] = {};
-+
-+      return skb->ifindex * val * var;
-+}
-+
-+SEC("tc")
-+__success
-+int global_func2(struct __sk_buff *skb)
-+{
-+      return f0(1, skb) + f1(skb) + f2(2, skb) + f3(3, skb, 4);
-+}
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func3.c b/tools/testing/selftests/bpf/progs/test_global_func3.c
-index 01bf8275dfd64..142b682d3c2f0 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func3.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func3.c
-@@ -3,6 +3,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- __attribute__ ((noinline))
- int f1(struct __sk_buff *skb)
-@@ -46,20 +47,15 @@ int f7(struct __sk_buff *skb)
-       return f6(skb);
- }
--#ifndef NO_FN8
- __attribute__ ((noinline))
- int f8(struct __sk_buff *skb)
- {
-       return f7(skb);
- }
--#endif
- SEC("tc")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("the call stack of 8 frames")
-+int global_func3(struct __sk_buff *skb)
- {
--#ifndef NO_FN8
-       return f8(skb);
--#else
--      return f7(skb);
--#endif
- }
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func4.c b/tools/testing/selftests/bpf/progs/test_global_func4.c
-index 610f75edf2764..1733d87ad3f3e 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func4.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func4.c
-@@ -1,4 +1,55 @@
- // SPDX-License-Identifier: GPL-2.0-only
- /* Copyright (c) 2020 Facebook */
--#define NO_FN8
--#include "test_global_func3.c"
-+#include <stddef.h>
-+#include <linux/bpf.h>
-+#include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
-+
-+__attribute__ ((noinline))
-+int f1(struct __sk_buff *skb)
-+{
-+      return skb->len;
-+}
-+
-+__attribute__ ((noinline))
-+int f2(int val, struct __sk_buff *skb)
-+{
-+      return f1(skb) + val;
-+}
-+
-+__attribute__ ((noinline))
-+int f3(int val, struct __sk_buff *skb, int var)
-+{
-+      return f2(var, skb) + val;
-+}
-+
-+__attribute__ ((noinline))
-+int f4(struct __sk_buff *skb)
-+{
-+      return f3(1, skb, 2);
-+}
-+
-+__attribute__ ((noinline))
-+int f5(struct __sk_buff *skb)
-+{
-+      return f4(skb);
-+}
-+
-+__attribute__ ((noinline))
-+int f6(struct __sk_buff *skb)
-+{
-+      return f5(skb);
-+}
-+
-+__attribute__ ((noinline))
-+int f7(struct __sk_buff *skb)
-+{
-+      return f6(skb);
-+}
-+
-+SEC("tc")
-+__success
-+int global_func4(struct __sk_buff *skb)
-+{
-+      return f7(skb);
-+}
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func5.c b/tools/testing/selftests/bpf/progs/test_global_func5.c
-index 9248d03e0d06f..cc55aedaf82d5 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func5.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func5.c
-@@ -3,6 +3,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- __attribute__ ((noinline))
- int f1(struct __sk_buff *skb)
-@@ -25,7 +26,8 @@ int f3(int val, struct __sk_buff *skb)
- }
- SEC("tc")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("expected pointer to ctx, but got PTR")
-+int global_func5(struct __sk_buff *skb)
- {
-       return f1(skb) + f2(2, skb) + f3(3, skb);
- }
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func6.c b/tools/testing/selftests/bpf/progs/test_global_func6.c
-index af8c78bdfb257..46c38c8f2cf03 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func6.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func6.c
-@@ -3,6 +3,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- __attribute__ ((noinline))
- int f1(struct __sk_buff *skb)
-@@ -25,7 +26,8 @@ int f3(int val, struct __sk_buff *skb)
- }
- SEC("tc")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("modified ctx ptr R2")
-+int global_func6(struct __sk_buff *skb)
- {
-       return f1(skb) + f2(2, skb) + f3(3, skb);
- }
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func7.c b/tools/testing/selftests/bpf/progs/test_global_func7.c
-index 6cb8e2f5254cf..f182febfde3c0 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func7.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func7.c
-@@ -3,6 +3,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- __attribute__ ((noinline))
- void foo(struct __sk_buff *skb)
-@@ -11,7 +12,8 @@ void foo(struct __sk_buff *skb)
- }
- SEC("tc")
--int test_cls(struct __sk_buff *skb)
-+__failure __msg("foo() doesn't return scalar")
-+int global_func7(struct __sk_buff *skb)
- {
-       foo(skb);
-       return 0;
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func8.c b/tools/testing/selftests/bpf/progs/test_global_func8.c
-index d55a6544b1abd..9b9c57fa2dd34 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func8.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func8.c
-@@ -3,6 +3,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- __noinline int foo(struct __sk_buff *skb)
- {
-@@ -10,7 +11,8 @@ __noinline int foo(struct __sk_buff *skb)
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__success
-+int global_func8(struct __sk_buff *skb)
- {
-       if (!foo(skb))
-               return 0;
-diff --git a/tools/testing/selftests/bpf/progs/test_global_func9.c b/tools/testing/selftests/bpf/progs/test_global_func9.c
-index bd233ddede98a..1f2cb0159b8d8 100644
---- a/tools/testing/selftests/bpf/progs/test_global_func9.c
-+++ b/tools/testing/selftests/bpf/progs/test_global_func9.c
-@@ -2,6 +2,7 @@
- #include <stddef.h>
- #include <linux/bpf.h>
- #include <bpf/bpf_helpers.h>
-+#include "bpf_misc.h"
- struct S {
-       int x;
-@@ -74,7 +75,8 @@ __noinline int quuz(int **p)
- }
- SEC("cgroup_skb/ingress")
--int test_cls(struct __sk_buff *skb)
-+__success
-+int global_func9(struct __sk_buff *skb)
- {
-       int result = 0;
--- 
-2.43.0
-
index 397abe58275c9b1f74249ac6c3d3394634337172..472c5fe35cc91fc6d77cf80235cc681f9f77ffcd 100644 (file)
@@ -144,7 +144,6 @@ arm64-dts-mediatek-mt8192-asurada-remove-crosec-base.patch
 arm64-dts-mediatek-mt8192-fix-vencoder-clock-name.patch
 arm64-dts-mediatek-mt7622-add-missing-device_type-to.patch
 bpf-mark-bpf_spin_-lock-unlock-helpers-with-notrace-.patch
-selftests-bpf-convert-test_global_funcs-test-to-test.patch
 arm-dts-qcom-msm8974-correct-qfprom-node-size.patch
 wifi-wilc1000-prevent-use-after-free-on-vif-when-cle.patch
 acpi-processor_idle-fix-memory-leak-in-acpi_processo.patch