Re: [tip:x86/mpx] x86/insn-eval: Add utility function to get segment descriptor

From: Peter Zijlstra
Date: Tue Dec 05 2017 - 13:39:09 EST


On Tue, Dec 05, 2017 at 07:14:56PM +0100, Borislav Petkov wrote:
> 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.

Sorry what? So either this code is broken because it has IRQs enabled,
or its broken because its trying to acquire a mutex with IRQs disabled.
Which is it?