[PATCH v4 1/2] cgroup/cpuset: export cpuset_cpus_allowed()

From: Fred Griffoul
Date: Fri Jun 07 2024 - 15:10:44 EST


A subsequent patch calls cpuset_cpus_allowed() in the vfio driver pci
code. Export the symbol to be able to build the vfio driver as a kernel
module.

This is not enough, however: when CONFIG_CPUSETS is _not_ defined
cpuset_cpus_allowed() is an inline function returning
task_cpu_possible_mask(). For the arm64 architecture this function is
also inline and checks the arm64_mismatched_32bit_el0 static key. We
thus need to export this symbol as well.

Signed-off-by: Fred Griffoul <fgriffo@xxxxxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202406060731.L3NSR1Hy-lkp@xxxxxxxxx/
Closes: https://lore.kernel.org/oe-kbuild-all/202406070659.pYu6zNrx-lkp@xxxxxxxxx/

Signed-off-by: Fred Griffoul <fgriffo@xxxxxxxxxxxx>
---
arch/arm64/kernel/cpufeature.c | 1 +
kernel/cgroup/cpuset.c | 1 +
2 files changed, 2 insertions(+)

diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index 56583677c1f2..007fddb07039 100644
--- a/arch/arm64/kernel/cpufeature.c
+++ b/arch/arm64/kernel/cpufeature.c
@@ -127,6 +127,7 @@ static bool __read_mostly allow_mismatched_32bit_el0;
* seen at least one CPU capable of 32-bit EL0.
*/
DEFINE_STATIC_KEY_FALSE(arm64_mismatched_32bit_el0);
+EXPORT_SYMBOL_GPL(arm64_mismatched_32bit_el0);

/*
* Mask of CPUs supporting 32-bit EL0.
diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
index 4237c8748715..9fd56222aa4b 100644
--- a/kernel/cgroup/cpuset.c
+++ b/kernel/cgroup/cpuset.c
@@ -4764,6 +4764,7 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask)
rcu_read_unlock();
spin_unlock_irqrestore(&callback_lock, flags);
}
+EXPORT_SYMBOL_GPL(cpuset_cpus_allowed);

/**
* cpuset_cpus_allowed_fallback - final fallback before complete catastrophe.
--
2.40.1