[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150422133146.GE6897@pd.tnic>
Date: Wed, 22 Apr 2015 15:31:46 +0200
From: Borislav Petkov <bp@...en8.de>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Dave Hansen <dave@...1.net>, linux-kernel@...r.kernel.org,
x86@...nel.org, tglx@...utronix.de, dave.hansen@...ux.intel.com,
riel@...hat.com, sbsiddha@...il.com, luto@...capital.net,
mingo@...hat.com, hpa@...or.com, fenghua.yu@...el.com
Subject: Re: [PATCH 01/16] x86, fpu: wrap get_xsave_addr() to make it safer
On Wed, Apr 22, 2015 at 03:16:18PM +0200, Oleg Nesterov wrote:
> I agree, tsk_used_math(tsk) looks better, simpy because we have this
> argument.
>
> But this "tsk" should be always current, otherwise this code is wrong
This is exactly what I'm asking: is that always the case?...
> anyway. Say, unlazy_fpu(tsk) can't work if tsk != current.
>
> So perhaps the comment should be updated...
>
> > Because used_math() is looking at current, maybe even in
> > preemption-enabled paths - I'm eyeing task_get_bounds_dir() - and
> > that current might get changed from under us and it might happen that
> > current != tsk. Yes, no?
>
> Not sure I understand... "current" can't change from under us?
... I'm not sure all tsk_get_xsave_field() callers disable preemption.
If not, then current can change from under us...
> Even if this CPU switches to another thread which executes the same code,
> that thread will obviously see another "current", but its "tsk" variable
> will still match its "current".
Well, we want to see if @tsk used math, not necessarily if current used
math, especially if it is another task, right?
I read tsk_get_xsave_field(@tsk, ) as give me the xsave field of @tsk
but doing used_math() we're querying current and I'm not sure
tsk == current
in all the call sites of tsk_get_xsave_field().
Does that make more sense?
--
Regards/Gruss,
Boris.
ECO tip #101: Trim your mails when you reply.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists