[packages/kernel] - revert symbol export restrictions for vboxdrv
baggins
baggins at pld-linux.org
Tue Feb 17 00:14:25 CET 2026
commit efedbfcfa91c8d128ad11cb122b59bf5a4b72bb0
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Tue Feb 17 01:13:50 2026 +0100
- revert symbol export restrictions for vboxdrv
kernel.spec | 2 ++
revert-kvm-symbol-exports-for-vbox.patch | 59 ++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+)
---
diff --git a/kernel.spec b/kernel.spec
index 8de613bc..6014ec8b 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -167,6 +167,7 @@ Patch500: kernel-rt.patch
Patch2000: kernel-small_fixes.patch
Patch2001: kernel-pwc-uncompress.patch
+Patch2002: revert-kvm-symbol-exports-for-vbox.patch
# for rescuecd
# based on ftp://ftp.leg.uct.ac.za/pub/linux/rip/tmpfs_root-2.6.30.diff.gz
@@ -596,6 +597,7 @@ rm -f localversion-rt
# Small fixes:
#%%patch -P2000 -p1
%patch -P2001 -p1
+%patch -P2002 -p1
chmod 755 tools/objtool/sync-check.sh
diff --git a/revert-kvm-symbol-exports-for-vbox.patch b/revert-kvm-symbol-exports-for-vbox.patch
new file mode 100644
index 00000000..de91c017
--- /dev/null
+++ b/revert-kvm-symbol-exports-for-vbox.patch
@@ -0,0 +1,59 @@
+Revert parts of the commit below to allow VirtualBox modules to be built.
+
+From 6276c67f2bc4aeaf350a7cf889c33c38b3330ea9 Mon Sep 17 00:00:00 2001
+From: Sean Christopherson <seanjc at google.com>
+Date: Wed, 12 Nov 2025 09:39:44 -0800
+Subject: [PATCH] x86: Restrict KVM-induced symbol exports to KVM modules where
+ obvious/possible
+
+Extend KVM's export macro framework to provide EXPORT_SYMBOL_FOR_KVM(),
+and use the helper macro to export symbols for KVM throughout x86 if and
+only if KVM will build one or more modules, and only for those modules.
+
+To avoid unnecessary exports when CONFIG_KVM=m but kvm.ko will not be
+built (because no vendor modules are selected), let arch code #define
+EXPORT_SYMBOL_FOR_KVM to suppress/override the exports.
+
+Note, the set of symbols to restrict to KVM was generated by manual search
+and audit; any "misses" are due to human error, not some grand plan.
+
+Signed-off-by: Sean Christopherson <seanjc at google.com>
+Signed-off-by: Dave Hansen <dave.hansen at linux.intel.com>
+Acked-by: Kai Huang <kai.huang at intel.com>
+Tested-by: Kai Huang <kai.huang at intel.com>
+Link: https://patch.msgid.link/20251112173944.1380633-5-seanjc%40google.com
+
+diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
+index c7d3512914ca97..71bb04e6a5bc2e 100644
+--- a/arch/x86/kernel/cpu/common.c
++++ b/arch/x86/kernel/cpu/common.c
+@@ -460,14 +461,14 @@ void cr4_update_irqsoff(unsigned long set, unsigned long clear)
+ __write_cr4(newval);
+ }
+ }
+-EXPORT_SYMBOL_FOR_KVM(cr4_update_irqsoff);
++EXPORT_SYMBOL(cr4_update_irqsoff);
+
+ /* Read the CR4 shadow. */
+ unsigned long cr4_read_shadow(void)
+ {
+ return this_cpu_read(cpu_tlbstate.cr4);
+ }
+-EXPORT_SYMBOL_FOR_KVM(cr4_read_shadow);
++EXPORT_SYMBOL_GPL(cr4_read_shadow);
+
+ void cr4_init(void)
+ {
+diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
+index 5d221709353e0a..f5b93e01e3472b 100644
+--- a/arch/x86/mm/tlb.c
++++ b/arch/x86/mm/tlb.c
+@@ -1723,7 +1724,7 @@ void __flush_tlb_all(void)
+ flush_tlb_local();
+ }
+ }
+-EXPORT_SYMBOL_FOR_KVM(__flush_tlb_all);
++EXPORT_SYMBOL_GPL(__flush_tlb_all);
+
+ void arch_tlbbatch_flush(struct arch_tlbflush_unmap_batch *batch)
+ {
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/efedbfcfa91c8d128ad11cb122b59bf5a4b72bb0
More information about the pld-cvs-commit
mailing list