This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: glibc 2.19 - asyn-signal safe TLS and ASan.
- From: OndÅej BÃlka <neleai at seznam dot cz>
- To: Paul Pluzhnikov <ppluzhnikov at google dot com>
- Cc: Kostya Serebryany <kcc at google dot com>, "Joseph S. Myers" <joseph at codesourcery dot com>, Andrew Hunter <ahh at google dot com>, Carlos O'Donell <carlos at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>, Roland McGrath <roland at hack dot frob dot com>, address-sanitizer at googlegroups dot com
- Date: Sat, 25 Jan 2014 04:02:32 +0100
- Subject: Re: glibc 2.19 - asyn-signal safe TLS and ASan.
- Authentication-results: sourceware.org; auth=none
- References: <52D0BCED dot 3000109 at redhat dot com> <52DDBF0E dot 8010501 at redhat dot com> <CAN=P9piS3Xczq2AKrzh4rsK9JxiHtJXawcQs9_+xsYXxrbLQWQ at mail dot gmail dot com> <CADroS=6vODmWCdBsynOf7oM9uVDymwdxrSDFbmD6kT5P9gbBRw at mail dot gmail dot com> <CAN=P9pgAYNZBUBbg2_SiwCjB5vXJ6ZXTNS=yoZWSvS3JoX1bGQ at mail dot gmail dot com> <52E2A098 dot 7060908 at google dot com> <Pine dot LNX dot 4 dot 64 dot 1401241747120 dot 9799 at digraph dot polyomino dot org dot uk> <CAN=P9pio-MWtJ=F4MmjA5_NJexv1nC12tR=Ue7iD3uq-ootG+w at mail dot gmail dot com> <20140125010534 dot GA14587 at domone dot podge> <CALoOobNc8mNUHLhry-hcqT6fx9m=HukMw1Sy41Q+uhRDBznbSw at mail dot gmail dot com>
On Fri, Jan 24, 2014 at 05:12:28PM -0800, Paul Pluzhnikov wrote:
> On Fri, Jan 24, 2014 at 5:05 PM, OndÅej BÃlka <neleai@seznam.cz> wrote:
>
> > There would be a possible hack to override mmap and look for mmap that
> > with dl_addr in backtrace.
>
> That is unlikely to work:
>
> (gdb) disas __signal_safe_memalign
> Dump of assembler code for function __signal_safe_memalign:
> ...
> 0x00000000000103e2 <+114>: callq 0x18500 <mmap64>
> ...
>
> That is, the call to mmap64 does not go through PLT, and overriding it is
> just as difficult as overriding __signal_safe_memalign :-(
>
I did not considered this one. As mmap is quite slow there is no deep
reason for it.
We would need to make also mmap there go via plt by same logic.