[PATCH 0/3] More machine check recovery fixes

From: Tony Luck
Date: Tue Jul 06 2021 - 15:06:31 EST


Fix a couple of issues in machine check handling

1) A repeated machine check inside the kernel without calling the task
work function between machine checks it will go into an infinite
loop
2) Machine checks in kernel functions copying data from user addresses
send SIGBUS to the user as if the application had consumed the
poison. But this is wrong. The user should see either an -EFAULT
error return or a reduced byte count (in the case of write(2)).

Tony Luck (3):
x86/mce: Change to not send SIGBUS error during copy from user
x86/mce: Avoid infinite loop for copy from user recovery
x86/mce: Drop copyin special case for #MC

arch/x86/kernel/cpu/mce/core.c | 62 ++++++++++++++++++++++++----------
arch/x86/lib/copy_user_64.S | 13 -------
include/linux/sched.h | 1 +
3 files changed, 45 insertions(+), 31 deletions(-)

--
2.29.2