A new local variable is introduced for accessing p2m entry with lock protection.

Cc: Stefano Stabellini <sstabell...@kernel.org>
Signed-off-by: Hillf Danton <hdan...@sina.com>
---

--- a/arch/arm/xen/p2m.c        2019-04-30 12:32:05.363768200 +0800
+++ b/arch/arm/xen/p2m.c        2019-04-30 12:58:19.854334100 +0800
@@ -70,8 +70,9 @@ unsigned long __pfn_to_mfn(unsigned long
                entry = rb_entry(n, struct xen_p2m_entry, rbnode_phys);
                if (entry->pfn <= pfn &&
                                entry->pfn + entry->nr_pages > pfn) {
+                       unsigned long mfn = entry->mfn + (pfn - entry->pfn);
                        read_unlock_irqrestore(&p2m_lock, irqflags);
-                       return entry->mfn + (pfn - entry->pfn);
+                       return mfn;
                }
                if (pfn < entry->pfn)
                        n = n->rb_left;
--

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to