From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linutronix.de (146.0.238.70:993) by crypto-ml.lab.linutronix.de with IMAP4-SSL for ; 22 Jan 2019 04:48:29 -0000 Received: from userp2120.oracle.com ([156.151.31.85]) by Galois.linutronix.de with esmtps (TLS1.2:RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1glnzA-0003zK-2C for speck@linutronix.de; Tue, 22 Jan 2019 05:48:28 +0100 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id x0M4iUWE059624 for ; Tue, 22 Jan 2019 04:48:20 GMT Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp2120.oracle.com with ESMTP id 2q3vhrh81u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 22 Jan 2019 04:48:20 +0000 Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0021.oracle.com (8.14.4/8.14.4) with ESMTP id x0M4mEp6001483 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 22 Jan 2019 04:48:14 GMT Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x0M4mEmf004757 for ; Tue, 22 Jan 2019 04:48:14 GMT Date: Mon, 21 Jan 2019 23:48:13 -0500 From: Konrad Rzeszutek Wilk Subject: [MODERATED] Re: [PATCH v5 14/27] MDSv5 3 Message-ID: <20190122044813.GJ12859@char.us.oracle.com> References: <8b89fce6dd87638a00078082141d3ce5fe13d0ea.1547858934.git.ak@linux.intel.com> MIME-Version: 1.0 In-Reply-To: <8b89fce6dd87638a00078082141d3ce5fe13d0ea.1547858934.git.ak@linux.intel.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit To: speck@linutronix.de List-ID: On Fri, Jan 18, 2019 at 04:50:29PM -0800, speck for Andi Kleen wrote: > From: Andi Kleen > Subject: mds: Force clear cpu on kernel preemption > > When the kernel is preempted we need to force a cpu clear, > because the preemption might happen before the code > has a chance to set TIF_CPU_CLEAR later. > > We cannot rely on kernel code setting the flag before > touching sensitive data: the flag setting could > be implicit, like in memzero_explicit, which is always > called later. > > Signed-off-by: Andi Kleen Reviewed-by: Konrad Rzeszutek Wilk Thank you! > --- > kernel/sched/core.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > index a674c7db2f29..b04918e9115c 100644 > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -11,6 +11,8 @@ > > #include > > +#include > + > #include > #include > > @@ -3619,6 +3621,13 @@ asmlinkage __visible void __sched notrace preempt_schedule(void) > if (likely(!preemptible())) > return; > > + /* > + * For kernel preemption we need to force a cpu clear > + * because it could happen before the code has a chance > + * to set TIF_CLEAR_CPU. > + */ > + lazy_clear_cpu(); > + > preempt_schedule_common(); > } > NOKPROBE_SYMBOL(preempt_schedule); > -- > 2.17.2