2018-02-07 20:57:30

by Simon Gaiser

[permalink] [raw]
Subject: [PATCH] xen: Fix {set,clear}_foreign_p2m_mapping on autotranslating guests

Commit 82616f9599a7 ("xen: remove tests for pvh mode in pure pv paths")
removed the check for autotranslation from {set,clear}_foreign_p2m_mapping
but those are called by grant-table.c also on PVH/HVM guests.

Cc: <[email protected]> # 4.14
Fixes: 82616f9599a7 ("xen: remove tests for pvh mode in pure pv paths")
Signed-off-by: Simon Gaiser <[email protected]>
Reviewed-by: Juergen Gross <[email protected]>
---
arch/x86/xen/p2m.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 13b4f19b9131..159a897151d6 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -694,6 +694,9 @@ int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops,
int i, ret = 0;
pte_t *pte;

+ if (xen_feature(XENFEAT_auto_translated_physmap))
+ return 0;
+
if (kmap_ops) {
ret = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,
kmap_ops, count);
@@ -736,6 +739,9 @@ int clear_foreign_p2m_mapping(struct gnttab_unmap_grant_ref *unmap_ops,
{
int i, ret = 0;

+ if (xen_feature(XENFEAT_auto_translated_physmap))
+ return 0;
+
for (i = 0; i < count; i++) {
unsigned long mfn = __pfn_to_mfn(page_to_pfn(pages[i]));
unsigned long pfn = page_to_pfn(pages[i]);
--
2.15.1



2018-02-08 09:43:41

by Juergen Gross

[permalink] [raw]
Subject: Re: [PATCH] xen: Fix {set,clear}_foreign_p2m_mapping on autotranslating guests

On 07/02/18 21:47, Simon Gaiser wrote:
> Commit 82616f9599a7 ("xen: remove tests for pvh mode in pure pv paths")
> removed the check for autotranslation from {set,clear}_foreign_p2m_mapping
> but those are called by grant-table.c also on PVH/HVM guests.
>
> Cc: <[email protected]> # 4.14
> Fixes: 82616f9599a7 ("xen: remove tests for pvh mode in pure pv paths")
> Signed-off-by: Simon Gaiser <[email protected]>
> Reviewed-by: Juergen Gross <[email protected]>

Committed to xen.tip for-linus-4.16


Juergen