Jiri Slaby 50ae87
From: Linus Torvalds <torvalds@linux-foundation.org>
Jiri Slaby 50ae87
Date: Wed, 22 Feb 2023 09:52:32 -0800
Jiri Slaby 50ae87
Subject: [PATCH] bpf: add missing header file include
Jiri Slaby 50ae87
MIME-Version: 1.0
Jiri Slaby 50ae87
Content-Type: text/plain; charset=UTF-8
Jiri Slaby 50ae87
Content-Transfer-Encoding: 8bit
Jiri Slaby 50ae87
References: bsc#1012628
Jiri Slaby 50ae87
Patch-mainline: 6.2.1
Jiri Slaby 50ae87
Git-commit: f3dd0c53370e70c0f9b7e931bbec12916f3bb8cc
Jiri Slaby 50ae87
Jiri Slaby 50ae87
commit f3dd0c53370e70c0f9b7e931bbec12916f3bb8cc upstream.
Jiri Slaby 50ae87
Jiri Slaby 50ae87
Commit 74e19ef0ff80 ("uaccess: Add speculation barrier to
Jiri Slaby 50ae87
copy_from_user()") built fine on x86-64 and arm64, and that's the extent
Jiri Slaby 50ae87
of my local build testing.
Jiri Slaby 50ae87
Jiri Slaby 50ae87
It turns out those got the <linux/nospec.h> include incidentally through
Jiri Slaby 50ae87
other header files (<linux/kvm_host.h> in particular), but that was not
Jiri Slaby 50ae87
true of other architectures, resulting in build errors
Jiri Slaby 50ae87
Jiri Slaby 50ae87
  kernel/bpf/core.c: In function ‘___bpf_prog_run’:
Jiri Slaby 50ae87
  kernel/bpf/core.c:1913:3: error: implicit declaration of function ‘barrier_nospec’
Jiri Slaby 50ae87
Jiri Slaby 50ae87
so just make sure to explicitly include the proper <linux/nospec.h>
Jiri Slaby 50ae87
header file to make everybody see it.
Jiri Slaby 50ae87
Jiri Slaby 50ae87
Fixes: 74e19ef0ff80 ("uaccess: Add speculation barrier to copy_from_user()")
Jiri Slaby 50ae87
Reported-by: kernel test robot <lkp@intel.com>
Jiri Slaby 50ae87
Reported-by: Viresh Kumar <viresh.kumar@linaro.org>
Jiri Slaby 50ae87
Reported-by: Huacai Chen <chenhuacai@loongson.cn>
Jiri Slaby 50ae87
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Jiri Slaby 50ae87
Tested-by: Dave Hansen <dave.hansen@linux.intel.com>
Jiri Slaby 50ae87
Acked-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Jiri Slaby 50ae87
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Jiri Slaby 50ae87
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jiri Slaby 50ae87
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Jiri Slaby 50ae87
---
Jiri Slaby 50ae87
 kernel/bpf/core.c | 1 +
Jiri Slaby 50ae87
 1 file changed, 1 insertion(+)
Jiri Slaby 50ae87
Jiri Slaby 50ae87
diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c
Jiri Slaby 50ae87
index 430c66d5..f9c3b103 100644
Jiri Slaby 50ae87
--- a/kernel/bpf/core.c
Jiri Slaby 50ae87
+++ b/kernel/bpf/core.c
Jiri Slaby 50ae87
@@ -34,6 +34,7 @@
Jiri Slaby 50ae87
 #include <linux/log2.h>
Jiri Slaby 50ae87
 #include <linux/bpf_verifier.h>
Jiri Slaby 50ae87
 #include <linux/nodemask.h>
Jiri Slaby 50ae87
+#include <linux/nospec.h>
Jiri Slaby 50ae87
 #include <linux/bpf_mem_alloc.h>
Jiri Slaby 50ae87
 
Jiri Slaby 50ae87
 #include <asm/barrier.h>
Jiri Slaby 50ae87
-- 
Jiri Slaby 50ae87
2.35.3
Jiri Slaby 50ae87