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 Fri, Mar 11, 2011 at 05:36:25PM +0100, Christoph Egger wrote:
> Hi all!
> 
> Bruno Haible <bruno@xxxxxxxxx> writes:
> >>     libsigsegv doesn't cope well with s390 at the moment. This is caused
> >> by the fact, that linux masks the address for sigsegv:
> >> 
> >>   mm/fault.c:#define __FAIL_ADDR_MASK 0x7ffff000
> >> 
> >> So the last 12 bit of information are lost.
> >
> > Thanks for the analysis. Indeed at least the 'sigsegv1' test will fail in this
> > situation.
> >
> > Have you reported the problem to the linux-kernel mailing list, or to the
> > maintainers of the s390 part of Linux?
> >
> >> Forcing libsigsegv to use 
> >> POSIX signal handlers othewise makes a library that passes all the tests
> >> apart from the exact fault location.
> >
> > That sounds promising, if the kernel problem was fixed.
> 
>     It seems the FAIL_ADDR_MASK is some handling for hardware
> limitation?

The hardware only stores the page address in case of a fault. The rest of
the bits (if defined) in the eight byte value are used for other informations
helping to figure out what sort of fault happened.

> Is there some chance to get near a exact address for
> segfault handlers or will we have to just live with the absence of this
> facility on application level?

You would have to perform instruction decoding to figure out what was the
exact failing address. Not really a thankful job.
--
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