summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/cpumask.h
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2022-02-04 11:30:13 +0300
committerBorislav Petkov <bp@suse.de>2022-02-12 20:20:05 +0300
commitf5c54f77b07b278cfde4a654e111c39996ac8b5b (patch)
treeafd76f0a5a03d15eda7c2e0394bdfbcc8d9459fd /arch/x86/include/asm/cpumask.h
parent1c6f9ec0095459b5120a1cb059d442f56d3cb6e7 (diff)
downloadlinux-f5c54f77b07b278cfde4a654e111c39996ac8b5b.tar.xz
cpumask: Add a x86-specific cpumask_clear_cpu() helper
Add a x86-specific cpumask_clear_cpu() helper which will be used in places where the explicit KASAN-instrumentation in the *_bit() helpers is unwanted. Also, always inline two more cpumask generic helpers. allyesconfig: text data bss dec hex filename 190553143 159425889 32076404 382055436 16c5b40c vmlinux.before 190551812 159424945 32076404 382053161 16c5ab29 vmlinux.after Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Marco Elver <elver@google.com> Link: https://lore.kernel.org/r/20220204083015.17317-2-bp@alien8.de
Diffstat (limited to 'arch/x86/include/asm/cpumask.h')
-rw-r--r--arch/x86/include/asm/cpumask.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/include/asm/cpumask.h b/arch/x86/include/asm/cpumask.h
index 3afa990d756b..c5aed9e9226c 100644
--- a/arch/x86/include/asm/cpumask.h
+++ b/arch/x86/include/asm/cpumask.h
@@ -20,11 +20,21 @@ static __always_inline bool arch_cpu_online(int cpu)
{
return arch_test_bit(cpu, cpumask_bits(cpu_online_mask));
}
+
+static __always_inline void arch_cpumask_clear_cpu(int cpu, struct cpumask *dstp)
+{
+ arch_clear_bit(cpumask_check(cpu), cpumask_bits(dstp));
+}
#else
static __always_inline bool arch_cpu_online(int cpu)
{
return cpu == 0;
}
+
+static __always_inline void arch_cpumask_clear_cpu(int cpu, struct cpumask *dstp)
+{
+ return;
+}
#endif
#define arch_cpu_is_offline(cpu) unlikely(!arch_cpu_online(cpu))