Re: [PATCH 5/8] x86/mmu: Add mm-based PASID refcounting
From: Thomas Gleixner
Date: Wed Sep 29 2021 - 13:15:59 EST
On Wed, Sep 29 2021 at 09:59, Andy Lutomirski wrote:
> On 9/29/21 05:28, Thomas Gleixner wrote:
>> Looking at that patch again, none of this muck in fpu__pasid_write() is
>> required at all. The whole exception fixup is:
>>
>> if (!user_mode(regs))
>> return false;
>>
>> if (!current->mm->pasid)
>> return false;
>>
>> if (current->pasid_activated)
>> return false;
>
> <-- preemption or BH here: kaboom.
Sigh, this had obviously to run in the early portion of #GP, i.e. before
enabling interrupts.
For me that's more than obvious and I apologize that I failed to mention
it.
>>
>> wrmsrl(MSR_IA32_PASID, current->mm->pasid);
>
> This needs the actual sane fpstate writing helper -- see other email.
And with that there is no fpstate write helper required at all.
Stop this overengineering madness already.
Thanks,
tglx