Просмотр исходного кода

[ARM] Solve buggy smp_processor_id() usage

BUG: using smp_processor_id() in preemptible [00000001] code: opcontrol/427

Resolve this bug by ensuring that we're not using smp_processor_id() in
a preemptable context (by disabling preemption.)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King 18 лет назад
Родитель
Сommit
f72267c30f
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      arch/arm/oprofile/op_model_mpcore.c

+ 2 - 0
arch/arm/oprofile/op_model_mpcore.c

@@ -200,8 +200,10 @@ static int em_call_function(int (*fn)(void))
 	data.fn = fn;
 	data.ret = 0;
 
+	preempt_disable();
 	smp_call_function(em_func, &data, 1, 1);
 	em_func(&data);
+	preempt_enable();
 
 	return data.ret;
 }