----- Original Message -----
 Hello Dave,
 
 I was talking about the users pace. The "vtop -u" or "rd -u" commands
do
 not work for user space memory mapped above 8 PB. Memory is reported as
 not mapped. See the sample below: 
Ok good -- the patch is queued for crash-7.2.0:
  
https://github.com/crash-utility/crash/commit/c30fbd7a43be118c9a342064180...
Thanks,
  Dave
  
 
 *crash> rd -u 0x60000000000000
 rd: invalid user virtual address: 60000000000000  type: "64-bit UVADDR"
 crash> vtop -u 0x60000000000000
 VIRTUAL           PHYSICAL
 60000000000000    (not mapped)
 
 
        VMA              START             END        FLAGS FILE
      62e5bde8       60000000000000   60000000001000 8100073
 *
 
 Thanks,
 Mikhail Zaslonko
 
 
 On 11.05.2017 20:26, Dave Anderson wrote:
 >
 > ----- Original Message -----
 >> Hello Dave,
 >>
 >> We have recently found that Crash is not capable of processing 5 level
 >> page tables virtual addresses (higher than 8 Petabytes). Please find the
 >> enclosed patch below.
 >>
 >> Thanks,
 >> Mikhail Zaslonko
 > Hi Mikhail,
 >
 > For the changelog, can you give an example of the symptoms of the
 > failure?  Does it fail to handle kernel modules during session
 > initialization, or what?
 >
 > Thanks,
 >    Dave
 >
 >
 >>
 >> [PATCH] s390x: Fix virtual address check for 5 level page tables
 >>
 >>
 >> The current validity check for virtual addresses fails for
 >> five level page tables because in that case it uses a 64 bit
 >> left-shift operation which is undefined in the C standard.
 >>
 >> Quote from C99 standard:
 >>
 >>    If the  value  of  the  right  operand  is  negative or is
 >>    greater than or equal to the width of the promoted left operand,
 >>    the behavior is undefined.
 >>
 >> To fix this, we just skip the validity check in case of highest
 >> page-level (level = 3) due to redundancy
 >>
 >> Signed-off-by: Mikhail Zaslonko <zaslonko(a)linux.vnet.ibm.com>
 >> ---
 >>    s390x.c | 2 +-
 >>    1 file changed, 1 insertion(+), 1 deletion(-)
 >>
 >> diff --git a/s390x.c b/s390x.c
 >> index e13bd59..96ce3dc 100644
 >> --- a/s390x.c
 >> +++ b/s390x.c
 >> @@ -688,7 +688,7 @@ int s390x_vtop(ulong table, ulong vaddr, physaddr_t
 >> *phys_addr, int verbose)
 >>    	/* Read the first entry to find the number of page table levels. */
 >>    	readmem(table, KVADDR, &entry, sizeof(entry), "entry",
 >>    	FAULT_ON_ERROR);
 >>    	level = (entry & 0xcULL) >> 2;
 >> -	if ((vaddr >> (31 + 11*level)) != 0ULL) {
 >> +	if ((level < 3) && (vaddr >> (31 + 11*level)) != 0ULL) {
 >>    		/* Address too big for the number of page table levels. */
 >>    		return FALSE;
 >>    	}
 >> --
 >> 2.10.2
 >>
 >>