libunwind-devel
[Top][All Lists]
Advanced

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

[Libunwind-devel] Re: [PATCH][x86_64] Make address validation a per thre


From: Mattias Engdegård
Subject: [Libunwind-devel] Re: [PATCH][x86_64] Make address validation a per thread setting
Date: Thu, 19 Feb 2009 11:45:20 +0000 (UTC)
User-agent: nn/6.7.3

Arun Sharma wrote:

>For local unwinding, we have a defence mechanism against bad/missing
>unwind information, which could result in libunwind dereferencing
>bad pointers. This mechanism is based on msync(2) system call and
>significantly reduces the chances of a bad pointer dereference in
>libunwind.

msync(2) does not protect against reading from mapped but
read-protected addresses (MAP_NONE), which are not uncommon on x86_64.
We recently had a number of crashes resulting from this (although
libunwind was not directly involved in this case).

We are not aware of a good replacement, but pread(2) from
/proc/self/mem is surprisingly fast on Linux and would perhaps work.
Catching SIGSEGV is another messy (and expensive) alternative.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]