diff options
author | Jan Beulich <jbeulich@novell.com> | 2012-07-09 10:30:16 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2012-07-09 10:30:16 +0100 |
commit | 5ff33f25fdb131500779cc81ac26c454cd175e9c (patch) | |
tree | 580b976c0b636f65724b8efc598633ed88a99e62 | |
parent | eff23cb0e5fa78b33af6e97d6a96fe106e40c4ae (diff) | |
download | xen-5ff33f25fdb131500779cc81ac26c454cd175e9c.tar.gz xen-5ff33f25fdb131500779cc81ac26c454cd175e9c.tar.bz2 xen-5ff33f25fdb131500779cc81ac26c454cd175e9c.zip |
x86/mm: fix mod_l1_entry() return value when encountering r/o MMIO page
While putting together the workaround announced in
http://lists.xen.org/archives/html/xen-devel/2012-06/msg00709.html, I
found that mod_l1_entry(), upon encountering a set bit in
mmio_ro_ranges, would return 1 instead of 0 (the removal of the write
permission is supposed to be entirely transparent to the caller, even
more so to the calling guest).
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
xen-unstable changeset: 25487:baa85434d0ec
xen-unstable date: Thu Jun 21 11:30:59 2012 +0200
-rw-r--r-- | xen/arch/x86/mm.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 583e1f74bd..5ad30d386a 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -1801,6 +1801,7 @@ static int mod_l1_entry(l1_pgentry_t *pl1e, l1_pgentry_t nl1e, return 0; case -1: l1e_remove_flags(nl1e, _PAGE_RW); + rc = 0; break; } |