[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171205181456.akycirziiuhb7crw@pd.tnic>
Date: Tue, 5 Dec 2017 19:14:56 +0100
From: Borislav Petkov <bp@...e.de>
To: Peter Zijlstra <peterz@...radead.org>,
Thomas Gleixner <tglx@...utronix.de>
Cc: qiaowei.ren@...el.com, luto@...nel.org, adam.buchbinder@...il.com,
mst@...hat.com, mhiramat@...nel.org, dave.hansen@...ux.intel.com,
mingo@...nel.org, linux-kernel@...r.kernel.org,
colin.king@...onical.com, jslaby@...e.cz, pbonzini@...hat.com,
cmetcalf@...lanox.com, akpm@...ux-foundation.org, vbabka@...e.cz,
acme@...hat.com, brgerst@...il.com, shuah@...nel.org,
paul.gortmaker@...driver.com, lstoakes@...il.com, hpa@...or.com,
thgarnie@...gle.com, keescook@...omium.org,
adrian.hunter@...el.com, ricardo.neri-calderon@...ux.intel.com,
ray.huang@....com, dvyukov@...gle.com, ravi.v.shankar@...el.com,
slaoub@...il.com, tglx@...utronix.de, corbet@....net,
linux-tip-commits@...r.kernel.org
Subject: Re: [tip:x86/mpx] x86/insn-eval: Add utility function to get segment
descriptor
On Tue, Dec 05, 2017 at 06:48:44PM +0100, Peter Zijlstra wrote:
> This is broken right? You unlock and then return @desc, which afaict can
> at that point get freed by free_ldt_struct().
>
> Something like the below ought to cure; although its not entirely
> pretty either.
Right.
Or, instead of introducing all the locking, we could also not do
anything because all that code runs inside fixup_umip_exception() so the
desc will be valid there.
But, if other code is going to use those functions - and I believe
that's the idea - otherwise they wouldn't be in arch/x86/lib/ - we
should convert all those functions to return directly the desc field
which is requested by the respective caller.
I.e., get_desc() will be called by a wrapper which returns desc base or
desc limit or whatever...
In the case where desc has been freed, it should return error, of
course.
How doed that sound?
--
Regards/Gruss,
Boris.
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
--
Powered by blists - more mailing lists