]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
x86/spectre_v2: Fix cpu offlining with IPBP.
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 12 Mar 2018 15:29:19 +0000 (11:29 -0400)
committerJack Vogel <jack.vogel@oracle.com>
Mon, 12 Mar 2018 20:10:44 +0000 (13:10 -0700)
We didn't check if tsk->mm is available when an CPU goes down - and
of course - that is exactly when there is no task.

As such we would crash.

OraBug: 27678629
Reveiwed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Reviewed-by: Jack Vogel <jack.vogel@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
arch/x86/mm/tlb.c

index 4d6ed07349759a319740fed3dbdc89123ba5c79c..620d4af6a7845b449af97bd7daecfb195dacfa68 100644 (file)
@@ -107,7 +107,7 @@ void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next,
        if (likely(prev != next)) {
 
                /* Null tsk means switching to kernel, so that's safe */
-               if (ibpb_inuse && tsk &&
+               if (ibpb_inuse && tsk && tsk->mm &&
                   get_dumpable(tsk->mm) != SUID_DUMP_USER)
                        native_wrmsrl(MSR_IA32_PRED_CMD, FEATURE_SET_IBPB);