gecko-dev/security
Gabriele Svelto 2bc88d71e0 Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

Differential Revision: https://phabricator.services.mozilla.com/D62586

--HG--
extra : moz-landing-system : lando
2020-04-08 06:55:40 +00:00
..
apps Bug 1613985 - Use default for equivalent-to-default constructors/destructors in security. r=rrelyea 2020-03-16 10:56:56 +00:00
certverifier Bug 1624464 - don't load certificate transparency log keys if CT is disabled r=kjacobs 2020-03-30 16:50:41 +00:00
ct Bug 1611326 - Default to py3_action, and add a py2 attribute to GENERATED_FILES; r=firefox-build-system-reviewers,rstewart 2020-02-14 13:22:46 +00:00
mac/hardenedruntime
manager Bug 1624612 - fix sizing of the cert manager dialog, r=jaws,keeler 2020-04-07 18:05:02 +00:00
nss Bug 1621350 - land NSS NSS_3_51_1_RTM UPGRADE_NSS_RELEASE, r=jcj 2020-04-03 22:39:37 +00:00
sandbox Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
.eslintrc.js Bug 1622328 - add license info to all eslintrc files r=Standard8,webcompat-reviewers,miketaylr 2020-03-19 13:47:51 +00:00
generate_certdata.py Bug 1622328 - generate_certdata.py: Add the license r=glandium 2020-03-17 04:53:54 +00:00
generate_mapfile.py Bug 1620744 - Convert generate_mapfile.py to py3; r=firefox-build-system-reviewers,rstewart 2020-03-10 20:19:34 +00:00
moz.build
nss.symbols Bug 1614711 - Update to Neqo 0.1.14 for support for QUIC draft 25 r=dragana 2020-02-13 22:18:07 +00:00