]> xenbits.xensource.com Git - xen.git/commitdiff
x86: don't wrongly trigger linear page table assertion (2)
authorJan Beulich <jbeulich@suse.com>
Tue, 12 Dec 2017 13:27:34 +0000 (14:27 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 12 Dec 2017 13:27:34 +0000 (14:27 +0100)
_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@suse.com>
Tested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: George Dunlap <george.dunlap.com>
xen/arch/x86/mm.c

index e919956919edcd8b795666286b32aef527067ebf..0daedec10ddb5b8be9a0fcdbc2a84f419e50c888 100644 (file)
@@ -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;
     }