mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 08:12:05 +00:00
5e4e0f9184
This is more complicated than I'd like it to be, because we don't have a good way to combine a specific trap function's knowledge that we want to get a crash dump with the SIGSYS handler's copy of the unprocessed signal info (which breakpad wants). The bpf_dsl interface requires a specific trap function type (via the TrapRegistry superclass), so even if we implement our own registry we can't change what's passed to it. Normally we could use thread-local storage to get around that, but it's not async signal safe. As a result there is an imperfect compromise: the trap function returns a failure with ENOSYS, Chromium's SIGSYS handler writes it into the context, our SIGSYS handler reads it back out and uses a copy of the original signal context for the crash dump. Other error codes (and returning ENOSYS via the seccomp-bpf policy itself) are handled normally. |
||
---|---|---|
.. | ||
apps | ||
certverifier | ||
manager | ||
nss | ||
patches | ||
pkix | ||
sandbox |