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

[Xen-changelog] [xen master] x86: don't wrongly trigger linear page table assertion (2)



commit e40b0219a8c77741ae48989efb520f4a762a5be3
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Tue Dec 12 14:27:34 2017 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Tue Dec 12 14:27:34 2017 +0100

    x86: don't wrongly trigger linear page table assertion (2)
    
    _put_final_page_type(), when free_page_type() has exited early to allow
    for preemption, should not update the time stamp, as the page continues
    to retain the typ which is in the process of being unvalidated. I can't
    see why the time stamp update was put on that path in the first place
    (albeit it may well have been me who had put it there years ago).
    
    This is part of XSA-240.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Tested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: George Dunlap <george.dunlap.com>
---
 xen/arch/x86/mm.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index e919956..0daedec 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -2436,7 +2436,6 @@ static int _put_final_page_type(struct page_info *page, 
unsigned long type,
     {
         ASSERT((page->u.inuse.type_info &
                 (PGT_count_mask|PGT_validated|PGT_partial)) == 1);
-        set_tlbflush_timestamp(page);
         smp_wmb();
         page->u.inuse.type_info |= PGT_validated;
     }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

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