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

[xen master] x86/mem-paging: add minimal lock order enforcement to p2m_mem_paging_prep()



commit 142daae09f4ecafb505d21ea9a2203a3392ecc3b
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Fri May 15 16:02:39 2020 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Fri May 15 16:02:39 2020 +0200

    x86/mem-paging: add minimal lock order enforcement to p2m_mem_paging_prep()
    
    While full checking is impossible (as the lock is being acquired/
    released down the call tree), perform at least a lock level check.
    
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
 xen/arch/x86/mm/p2m.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 60a061216a..9b7b0bf103 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1816,6 +1816,7 @@ int p2m_mem_paging_prep(struct domain *d, unsigned long 
gfn_l, uint64_t buffer)
             goto out;
         /* Get a free page */
         ret = -ENOMEM;
+        page_alloc_mm_pre_lock(d);
         page = alloc_domheap_page(d, 0);
         if ( unlikely(page == NULL) )
             goto out;
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

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