Hi Petr,
On Mon, 2012-04-16 at 10:31 +0200, Petr Tesarik wrote:
Hi Michael,
I'm not a z/Series guru, but it seems to me that the address should not be
returned directly, but rather assigned to the phys_addr output parameter.
The fix looks good, thanks! Dave could you please add the patch to the
next release?
Michael
Petr Tesarik
SUSE Linux
differences between files attachment
(s390x-fix-vtop-for-1M-pages.patch)
Subject: [PATCH] s390x: fix vtop for 1M pages
It seems to me that the address should not be returned directly,
but rather assigned to the phys_addr output parameter.
Signed-off-by: Petr Tesarik <ptesarik(a)suse.cz>
---
s390x.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/s390x.c
+++ b/s390x.c
@@ -614,9 +614,11 @@ int s390x_vtop(ulong table, ulong vaddr,
}
/* Check if this is a large page. */
- if (entry & 0x400ULL)
+ if (entry & 0x400ULL) {
/* Add the 1MB page offset and return the final value. */
- return table + (vaddr & 0xfffffULL);
+ *phys_addr = table + (vaddr & 0xfffffULL);
+ return TRUE;
+ }
/* Get the page table entry */
entry = _kl_pg_table_deref_s390x(vaddr, entry & ~0x7ffULL);