[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