From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ingo Molnar Subject: Re: [PATCH] x86/cpa: make sure cpa is safe to call in lazy mmu mode Date: Wed, 11 Feb 2009 18:44:40 +0100 Message-ID: <20090211174440.GA32633@elte.hu> References: <49930BA3.8020305@goop.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <49930BA3.8020305@goop.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jeremy Fitzhardinge Cc: kvm-devel , Xen-devel , the arch/x86 maintainers , Stable Kernel , Marcelo Tosatti List-Id: xen-devel@lists.xenproject.org * Jeremy Fitzhardinge wrote: > [ Ingo, this needs to go upstream and -stable. -J ] > > commit 2193cee29f66b873b9f8ac2cebb2c7b755ec73a3 > Author: Jeremy Fitzhardinge > Date: Tue Feb 10 14:15:52 2009 -0800 > > x86/cpa: make sure cpa is safe to call in lazy mmu mode > Impact: fix race leading to crash under KVM and Xen > > The CPA code may be called while we're in lazy mmu update mode - for > example, when using DEBUG_PAGE_ALLOC and doing a slab allocation > in an interrupt handler which interrupted a lazy mmu update. In this > case, the in-memory pagetable state may be out of date due to pending > queued updates. We need to flush any pending updates before inspecting > the page table. Similarly, we must explicitly flush any modifications > CPA may have made (which comes down to flushing queued operations when > flushing the TLB). > Signed-off-by: Jeremy Fitzhardinge > Acked-by: Marcelo Tosatti applied to tip:x86/urgent, thanks Jeremy! Ingo