[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v7 3/3] x86: Make the GDT remapping read-only on 64-bit



<fweisbec@xxxxxxxxx>,"Luis R . Rodriguez" <mcgrof@xxxxxxxxxx>,Stanislaw Gruszka 
<sgruszka@xxxxxxxxxx>,Peter Zijlstra <peterz@xxxxxxxxxxxxx>,Josh Poimboeuf 
<jpoimboe@xxxxxxxxxx>,Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>,Tim Chen 
<tim.c.chen@xxxxxxxxxxxxxxx>,Joerg Roedel 
<joro@xxxxxxxxxx>,=?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= <rkrcmar@xxxxxxxxxx>,the 
arch/x86 maintainers <x86@xxxxxxxxxx>,LKML 
<linux-kernel@xxxxxxxxxxxxxxx>,linux-doc@xxxxxxxxxxxxxxx,kasan-dev 
<kasan-dev@xxxxxxxxxxxxxxxx>,Linux-MM <linux-mm@xxxxxxxxx>,Linux PM list 
<linux-pm@xxxxxxxxxxxxxxx>,linux-efi@xxxxxxxxxxxxxxx,xen-devel@xxxxxxxxxxxxxxxxxxxx,lguest@xxxxxxxxxxxxxxxx,kvm
 list <kvm@xxxxxxxxxxxxxxx>,Kernel Hardening 
<kernel-hardening@xxxxxxxxxxxxxxxxxx>
From: hpa@xxxxxxxxx
Message-ID: <550F6209-025A-45E2-84E2-F00A3771C0B1@xxxxxxxxx>

On March 14, 2017 2:20:19 PM PDT, Thomas Garnier <thgarnie@xxxxxxxxxx> wrote:
>On Tue, Mar 14, 2017 at 2:04 PM, Pavel Machek <pavel@xxxxxx> wrote:
>> On Tue 2017-03-14 10:05:08, Thomas Garnier wrote:
>>> This patch makes the GDT remapped pages read-only to prevent
>corruption.
>>> This change is done only on 64-bit.
>>>
>>> The native_load_tr_desc function was adapted to correctly handle a
>>> read-only GDT. The LTR instruction always writes to the GDT TSS
>entry.
>>> This generates a page fault if the GDT is read-only. This change
>checks
>>> if the current GDT is a remap and swap GDTs as needed. This function
>was
>>> tested by booting multiple machines and checking hibernation works
>>> properly.
>>>
>>> KVM SVM and VMX were adapted to use the writeable GDT. On VMX, the
>>> per-cpu variable was removed for functions to fetch the original
>GDT.
>>> Instead of reloading the previous GDT, VMX will reload the fixmap
>GDT as
>>> expected. For testing, VMs were started and restored on multiple
>>> configurations.
>>>
>>> Signed-off-by: Thomas Garnier <thgarnie@xxxxxxxxxx>
>>
>> Can we get the same change for 32-bit, too? Growing differences
>> between 32 and 64 bit are a bit of a problem...
>>                                                                 Pavel
>
>It was discussed on previous versions that 32-bit read-only support
>would create issues that why it was favor for 64-bit only right now.
>
>>
>> --
>> (english) http://www.livejournal.com/~pavelmachek
>> (cesky, pictures)
>http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

We can't make the GDT read-only on 32 bits since we use task switches for 
last-resort recovery.  64 bits has IST instead.
-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.