x86/mce/inject: Set the valid bit in MCA_STATUS before error injection
authorSmita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
Thu, 4 Nov 2021 21:58:42 +0000 (16:58 -0500)
committerBorislav Petkov <bp@suse.de>
Wed, 8 Dec 2021 11:01:01 +0000 (12:01 +0100)
MCA handlers check the valid bit in each status register
(MCA_STATUS[Val]) and continue processing the error only if the valid
bit is set.

Set the valid bit unconditionally in the corresponding MCA_STATUS
register and correct any Val=0 injections made by the user as such
errors will get ignored and such injections will be largely pointless.

Signed-off-by: Smita Koralahalli <Smita.KoralahalliChannabasappa@amd.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211104215846.254012-3-Smita.KoralahalliChannabasappa@amd.com
arch/x86/kernel/cpu/mce/inject.c

index 725e8e4..6eac840 100644 (file)
@@ -503,6 +503,8 @@ static void do_inject(void)
 
        i_mce.tsc = rdtsc_ordered();
 
+       i_mce.status |= MCI_STATUS_VAL;
+
        if (i_mce.misc)
                i_mce.status |= MCI_STATUS_MISCV;