OSDN Git Service

xen/arm: Use p2m entry with lock protection
authorHillf Danton <hdanton@sina.com>
Tue, 30 Apr 2019 18:26:08 +0000 (11:26 -0700)
committerStefano Stabellini <sstabellini@kernel.org>
Tue, 30 Apr 2019 18:26:08 +0000 (11:26 -0700)
A new local variable is introduced for accessing p2m entry with lock
protection.

Signed-off-by: Hillf Danton <hdanton@sina.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
arch/arm/xen/p2m.c

index d3f632c..da2a704 100644 (file)
@@ -70,8 +70,9 @@ unsigned long __pfn_to_mfn(unsigned long pfn)
                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;