Re: [bug-libsigsegv] Re: sigsegv on s390 only giving start address of page in segv handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 15 Mar 2011 01:28:06 +0100
Bruno Haible <bruno@xxxxxxxxx> wrote:

> Christian Borntraeger wrote:
> > I even think that this cannot be fully solved by looking at the instruction, 
> > e.g. you cannot tell which access triggered the fault for instruction with
> > two memory accesses (mvc) in the same page.
> 
> Sure you can. If it's a "read" fault (i.e. the page has no readable mapping),
> you can claim the source address operand is the fault address. Otherwise,
> i.e. if it's a "write" fault, the destination address operand is the fault
> address.

Even with the access-exception-fetch/store-indication facility you'll find
on the latest machine it is not possible to distinguish read from write
faults in all cases (if bits 52 & 53 in the translation exception identifier
are zero you don't know). On older machines the TEID does not carry an
indication if the page translation exception has been for a read or a
write. You could look at the two addresses of the mvc, if the address on
the sigsegv unambiguously points to one of the two memory areas you
can deduce if it has been a read or a write. But there are cases where
you still don't know.

-- 
blue skies,
   Martin.

"Reality continues to ruin my life." - Calvin.

--
To unsubscribe from this list: send the line "unsubscribe linux-s390" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Kernel Development]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Info]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Linux Media]     [Device Mapper]

  Powered by Linux