[PATCH v4 2/2] x86/mce/mce-inject: Return appropriate error code if CPUs are offline

From: Smita Koralahalli
Date: Mon Feb 14 2022 - 18:37:11 EST


Assign appropriate error code when no CPUs are available online.

Return this error code with appropriate message to user when injection
fails.

Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@xxxxxxx>
Reviewed-by: Yazen Ghannam <yazen.ghannam@xxxxxxx>
---
Link:
https://lkml.kernel.org/r/20211019233641.140275-6-Smita.KoralahalliChannabasappa@xxxxxxx

v2:
Added pr_err() along with error code.
v3:
Rephrased the statement: No online CPUs available for error
injection -> Chosen CPU is not online.
v4:
Prefixed "mce-inject" so the user knows that the message is
coming from this module.
Printed CPU number along with the error message.
---
arch/x86/kernel/cpu/mce/inject.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/cpu/mce/inject.c b/arch/x86/kernel/cpu/mce/inject.c
index 43ba63b7dc73..b293db2788d4 100644
--- a/arch/x86/kernel/cpu/mce/inject.c
+++ b/arch/x86/kernel/cpu/mce/inject.c
@@ -573,8 +573,11 @@ static void do_inject(void)
}

cpus_read_lock();
- if (!cpu_online(cpu))
+ if (!cpu_online(cpu)) {
+ pr_err("mce-inject: Chosen CPU %d is not online\n", cpu);
+ mce_err.err = -ENODEV;
goto err;
+ }

toggle_hw_mce_inject(cpu, true);

--
2.17.1