lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 10 Jun 2024 12:57:07 +0000
From: Fred Griffoul <fgriffo@...zon.co.uk>
To: <griffoul@...il.com>
CC: Fred Griffoul <fgriffo@...zon.co.uk>, kernel test robot <lkp@...el.com>,
	Catalin Marinas <catalin.marinas@....com>, Will Deacon <will@...nel.org>,
	Alex Williamson <alex.williamson@...hat.com>, Waiman Long
	<longman@...hat.com>, Zefan Li <lizefan.x@...edance.com>, Tejun Heo
	<tj@...nel.org>, Johannes Weiner <hannes@...xchg.org>, Mark Rutland
	<mark.rutland@....com>, Marc Zyngier <maz@...nel.org>, Oliver Upton
	<oliver.upton@...ux.dev>, Mark Brown <broonie@...nel.org>, Ard Biesheuvel
	<ardb@...nel.org>, Joey Gouly <joey.gouly@....com>, Ryan Roberts
	<ryan.roberts@....com>, Jeremy Linton <jeremy.linton@....com>, "Jason
 Gunthorpe" <jgg@...pe.ca>, Yi Liu <yi.l.liu@...el.com>, Kevin Tian
	<kevin.tian@...el.com>, Eric Auger <eric.auger@...hat.com>, Stefan Hajnoczi
	<stefanha@...hat.com>, Christian Brauner <brauner@...nel.org>, Ankit Agrawal
	<ankita@...dia.com>, Reinette Chatre <reinette.chatre@...el.com>, Ye Bin
	<yebin10@...wei.com>, <linux-arm-kernel@...ts.infradead.org>,
	<linux-kernel@...r.kernel.org>, <kvm@...r.kernel.org>,
	<cgroups@...r.kernel.org>
Subject: [PATCH v5 1/2] cgroup/cpuset: export cpuset_cpus_allowed()

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: it checks the arm64_mismatched_32bit_el0 static key and
calls system_32bit_el0_cpumask(). We need to export those symbols as
well.

Signed-off-by: Fred Griffoul <fgriffo@...zon.co.uk>
Reported-by: kernel test robot <lkp@...el.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202406060731.L3NSR1Hy-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202406070659.pYu6zNrx-lkp@intel.com/
Closes: https://lore.kernel.org/oe-kbuild-all/202406101154.iaDyTRwZ-lkp@intel.com/

---
 arch/arm64/kernel/cpufeature.c | 2 ++
 kernel/cgroup/cpuset.c         | 1 +
 2 files changed, 3 insertions(+)

diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c
index 56583677c1f2..2f1de6343bee 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.
@@ -1614,6 +1615,7 @@ const struct cpumask *system_32bit_el0_cpumask(void)

 	return cpu_possible_mask;
 }
+EXPORT_SYMBOL_GPL(system_32bit_el0_cpumask);

 static int __init parse_32bit_el0_param(char *str)
 {
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


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ