]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.15
authorSasha Levin <sashal@kernel.org>
Tue, 24 Jan 2023 12:04:25 +0000 (07:04 -0500)
committerSasha Levin <sashal@kernel.org>
Tue, 24 Jan 2023 12:04:25 +0000 (07:04 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.15/revert-selftests-bpf-check-null-propagation-only-nei.patch [new file with mode: 0644]
queue-5.15/series

diff --git a/queue-5.15/revert-selftests-bpf-check-null-propagation-only-nei.patch b/queue-5.15/revert-selftests-bpf-check-null-propagation-only-nei.patch
new file mode 100644 (file)
index 0000000..1fae939
--- /dev/null
@@ -0,0 +1,82 @@
+From 0694e7fd99c9ab5f42074c372e00f62d33817eeb Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 24 Jan 2023 07:02:02 -0500
+Subject: Revert "selftests/bpf: check null propagation only neither reg is
+ PTR_TO_BTF_ID"
+
+This reverts commit 95fc28a8e92169cff4b649ae9f4a209a783f2c91.
+
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ .../bpf/prog_tests/jeq_infer_not_null.c       |  9 ----
+ .../bpf/progs/jeq_infer_not_null_fail.c       | 42 -------------------
+ 2 files changed, 51 deletions(-)
+ delete mode 100644 tools/testing/selftests/bpf/prog_tests/jeq_infer_not_null.c
+ delete mode 100644 tools/testing/selftests/bpf/progs/jeq_infer_not_null_fail.c
+
+diff --git a/tools/testing/selftests/bpf/prog_tests/jeq_infer_not_null.c b/tools/testing/selftests/bpf/prog_tests/jeq_infer_not_null.c
+deleted file mode 100644
+index 3add34df5767..000000000000
+--- a/tools/testing/selftests/bpf/prog_tests/jeq_infer_not_null.c
++++ /dev/null
+@@ -1,9 +0,0 @@
+-// SPDX-License-Identifier: GPL-2.0
+-
+-#include <test_progs.h>
+-#include "jeq_infer_not_null_fail.skel.h"
+-
+-void test_jeq_infer_not_null(void)
+-{
+-      RUN_TESTS(jeq_infer_not_null_fail);
+-}
+diff --git a/tools/testing/selftests/bpf/progs/jeq_infer_not_null_fail.c b/tools/testing/selftests/bpf/progs/jeq_infer_not_null_fail.c
+deleted file mode 100644
+index f46965053acb..000000000000
+--- a/tools/testing/selftests/bpf/progs/jeq_infer_not_null_fail.c
++++ /dev/null
+@@ -1,42 +0,0 @@
+-// SPDX-License-Identifier: GPL-2.0
+-
+-#include "vmlinux.h"
+-#include <bpf/bpf_helpers.h>
+-#include "bpf_misc.h"
+-
+-char _license[] SEC("license") = "GPL";
+-
+-struct {
+-      __uint(type, BPF_MAP_TYPE_HASH);
+-      __uint(max_entries, 1);
+-      __type(key, u64);
+-      __type(value, u64);
+-} m_hash SEC(".maps");
+-
+-SEC("?raw_tp")
+-__failure __msg("R8 invalid mem access 'map_value_or_null")
+-int jeq_infer_not_null_ptr_to_btfid(void *ctx)
+-{
+-      struct bpf_map *map = (struct bpf_map *)&m_hash;
+-      struct bpf_map *inner_map = map->inner_map_meta;
+-      u64 key = 0, ret = 0, *val;
+-
+-      val = bpf_map_lookup_elem(map, &key);
+-      /* Do not mark ptr as non-null if one of them is
+-       * PTR_TO_BTF_ID (R9), reject because of invalid
+-       * access to map value (R8).
+-       *
+-       * Here, we need to inline those insns to access
+-       * R8 directly, since compiler may use other reg
+-       * once it figures out val==inner_map.
+-       */
+-      asm volatile("r8 = %[val];\n"
+-                   "r9 = %[inner_map];\n"
+-                   "if r8 != r9 goto +1;\n"
+-                   "%[ret] = *(u64 *)(r8 +0);\n"
+-                   : [ret] "+r"(ret)
+-                   : [inner_map] "r"(inner_map), [val] "r"(val)
+-                   : "r8", "r9");
+-
+-      return ret;
+-}
+-- 
+2.39.0
+
index c318459ca82aa6925e08f215576ff84dd3c49cc5..33f6b61e5dd08e9d9e78a1590a09e2315f904299 100644 (file)
@@ -119,3 +119,4 @@ lockref-stop-doing-cpu_relax-in-the-cmpxchg-loop.patch
 firmware-coreboot-check-size-of-table-entry-and-use-.patch
 arm64-dts-imx8mp-correct-usb-clocks.patch
 drm-i915-allow-switching-away-via-vga-switcheroo-if-.patch
+revert-selftests-bpf-check-null-propagation-only-nei.patch