Skip to content

Commit f413776

Browse files
committed
Merge tag 'smp-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull SMP fixes from Thomas Gleixner: "Two fixes for the SMP related functionality: - Make the UP version of smp_call_function_single() match SMP semantics when called for a not available CPU. Instead of emitting a warning and assuming that the function call target is CPU0, return a proper error code like the SMP version does. - Remove a superfluous check in smp_call_function_many_cond()" * tag 'smp-urgent-2020-02-09' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: smp/up: Make smp_call_function_single() match SMP semantics smp: Remove superfluous cond_func check in smp_call_function_many_cond()
2 parents ca21b9b + 1e474b2 commit f413776

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

kernel/smp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ static void smp_call_function_many_cond(const struct cpumask *mask,
435435

436436
/* Fastpath: do that cpu by itself. */
437437
if (next_cpu >= nr_cpu_ids) {
438-
if (!cond_func || (cond_func && cond_func(cpu, info)))
438+
if (!cond_func || cond_func(cpu, info))
439439
smp_call_function_single(cpu, func, info, wait);
440440
return;
441441
}

kernel/up.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
1414
{
1515
unsigned long flags;
1616

17-
WARN_ON(cpu != 0);
17+
if (cpu != 0)
18+
return -ENXIO;
1819

1920
local_irq_save(flags);
2021
func(info);

0 commit comments

Comments
 (0)