Re: [PATCH 5.15] KVM: x86/mmu: Fix race condition in direct_page_fault

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

 



On Fri, Dec 02, 2022 at 12:08:46PM +0900, Kazuki Takiguchi wrote:
> commit 47b0c2e4c220f2251fd8dcfbb44479819c715e15 upstream.
> 
> make_mmu_pages_available() must be called with mmu_lock held for write.
> However, if the TDP MMU is used, it will be called with mmu_lock held for
> read.
> This function does nothing unless shadow pages are used, so there is no
> race unless nested TDP is used.
> Since nested TDP uses shadow pages, old shadow pages may be zapped by this
> function even when the TDP MMU is enabled.
> Since shadow pages are never allocated by kvm_tdp_mmu_map(), a race
> condition can be avoided by not calling make_mmu_pages_available() if the
> TDP MMU is currently in use.
> 
> I encountered this when repeatedly starting and stopping nested VM.
> It can be artificially caused by allocating a large number of nested TDP
> SPTEs.

Now queued up, thanks.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux