]> git.baikalelectronics.ru Git - kernel.git/commit
perf: Fix task_function_call() error handling
authorKajol Jain <kjain@linux.ibm.com>
Thu, 27 Aug 2020 06:47:32 +0000 (12:17 +0530)
committerIngo Molnar <mingo@kernel.org>
Fri, 9 Oct 2020 06:18:33 +0000 (08:18 +0200)
commit5f02d4650a9b539353419eed6e577eb4b179e6a5
tree0b4ccabc93fef10e8c6f2929907527060549d49a
parenta0e4f865c56de716775dc146b92c3020f5daf465
perf: Fix task_function_call() error handling

The error handling introduced by commit:

  504ff5309e65 ("perf: Add cond_resched() to task_function_call()")

looses any return value from smp_call_function_single() that is not
{0, -EINVAL}. This is a problem because it will return -EXNIO when the
target CPU is offline. Worse, in that case it'll turn into an infinite
loop.

Fixes: 504ff5309e65 ("perf: Add cond_resched() to task_function_call()")
Reported-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Signed-off-by: Kajol Jain <kjain@linux.ibm.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Reviewed-by: Barret Rhoden <brho@google.com>
Tested-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Link: https://lkml.kernel.org/r/20200827064732.20860-1-kjain@linux.ibm.com
kernel/events/core.c