- Feb 28, 2024
-
-
Gabriele Svelto authored
This patch makes several fundamental changes to the logic we use to inform the main process whenever the WER runtime exception module intercepts a child process crash: * We no longer read the process type or any other data from the child process; the process type is passed as the runtime exception module's context * We no longer read the address of the memory area used to communicate with the main process from the child process arguments. Instead we allocate memory directly into the main process and store the required information there * We don't read anything from the main process either, the pointer to the function used to notify the main process is now found by looking out its dedicated section in the parent process' xul.dll mapping * We no longer read the OOM crash annotation from a child process, this functionality will be restored by making the module use the mozannotation crates to fetch all the annotations Original Revision: https://phabricator.services.mozilla.com/D201589 Differential Revision: https://phabricator.services.mozilla.com/D202916
-
- Sep 11, 2023
-
-
valenting authored
Differential Revision: https://phabricator.services.mozilla.com/D187537
-
- Jul 10, 2023
-
-
Yannis Juglaret authored
Bug 1841751 - Block instances of a malicious injected DLL causing startup crashes. r=gstoll, a=dmeehan With bug 1832467 we have updated our Windows SDK version to 10.0.19041. As a result, we now have a .retplne section in xul.dll, starting with Firefox 115. This is a section with PAGE_NOACCESS protection, so accessing it crashes the process. Some injected DLLs read the whole memory space dedicated to the xul.dll image to search for patterns in it. When they hit the .retplne section, we will crash. This happened for a legit product in bug 1837242, but also for a malicious DLL in bug 1841751. This is a startup crash. This changeset blocks the variants of this malicious DLL we know, to eliminate the associated startup crash spike. Because the DLL does not use a fixed name, we block by matching on the combination of version number + timestamp + image size, based on the values found in crash reports. We additionnally check for a checksum of 0 and the absence of debug information, both of which are uncommon for legit production-ready DLLs; this thus helps further reduce the chances of collision. Differential Revision: https://phabricator.services.mozilla.com/D183096
-
- Jul 08, 2023
-
-
Yannis Juglaret authored
When we prepare an untrusted modules ping, we currently let Windows choose between loading the module as a data file or as an image file. However our code relies on the module being loaded as an image file, because we do RVA computations. We must use the proper flag LOAD_LIBRARY_AS_IMAGE_RESOURCE alone, which guarantees what we want: loading as an image file, but not for execution. Differential Revision: https://phabricator.services.mozilla.com/D183076
-
- Jul 06, 2023
-
-
Yannis Juglaret authored
While fixing a crash in bug 1733532, we accidentally broke the DLL blocklist on older versions of Windows (Windows 7, some versions of Windows 10, and possibly Windows 8 and 8.1). This is currently preventing us from mitigating crashes with third-party injected DLLs, in particular the crash incident from bug 1837242. Considering the volumes involved, let's temporarily reintroduce bug 1733532 to ensure everyone has a working blocklist, and deal with bug 1733532 later. Differential Revision: https://phabricator.services.mozilla.com/D182917
-
- Jun 02, 2023
-
-
Christian Holler (:decoder) authored
Differential Revision: https://phabricator.services.mozilla.com/D179821
-
Alexandre Lissy authored
Differential Revision: https://phabricator.services.mozilla.com/D179831
-
Florian Quèze authored
Bug 1835649 - Avoid serializing the number of operations per sample for profiler counters that don't count operations, r=canaltinova. Differential Revision: https://phabricator.services.mozilla.com/D179365
-
Alexandre Lissy authored
Differential Revision: https://phabricator.services.mozilla.com/D179831
-
- May 22, 2023
-
-
James Teh authored
Bug 1821972 part 2: Remove ipc/mscom code only used by the old accessibility architecture based on content process COM proxies. r=bobowen Nothing else uses any of this or is likely to use it, so I don't think it makes sense to leave it as dead code. Differential Revision: https://phabricator.services.mozilla.com/D177967
-
James Teh authored
Bug 1821963 part 2: Remove COM registration supporting the old accessibility architecture based on content process COM proxies. r=nlapre,bobowen Differential Revision: https://phabricator.services.mozilla.com/D177962
-
Narcis Beleuzu authored
Backed out changeset a92c62e304f0 (bug 1821963) Backed out changeset da6cba0b0dd4 (bug 1821963) Backed out changeset 4ed7ca0eb04a (bug 1821963) Backed out changeset f2fba0ef15d9 (bug 1821963) Backed out changeset 706e46fc2688 (bug 1821963) Backed out changeset 6de2b9548dc6 (bug 1821963)
-
James Teh authored
Bug 1821963 part 2: Remove COM registration supporting the old accessibility architecture based on content process COM proxies. r=nlapre,bobowen Differential Revision: https://phabricator.services.mozilla.com/D177962
-
- May 16, 2023
-
-
Markus Stange authored
It's often useful to be able to get the OS specifc raw values out of a TimeStamp when interacting with other OS specific things. For example, this lets us produce timestamps that are compatible with perf or ETW. This adds explicitly named per OS functions to do so. These should be sufficiently unpleasant to use and clear in their semantics that it should avoid any misuse. Differential Revision: https://phabricator.services.mozilla.com/D177267
-
- May 12, 2023
-
-
Gabriele Svelto authored
Bug 1832526 - If we can't interpose a libc function assume libc isn't loaded and open it manually r=gerard-majax a=pascalc Differential Revision: https://phabricator.services.mozilla.com/D177887
-
Justin Link authored
Differential Revision: https://phabricator.services.mozilla.com/D177833
-
Gabriele Svelto authored
Bug 1832526 - If we can't interpose a libc function assume libc isn't loaded and open it manually r=gerard-majax Differential Revision: https://phabricator.services.mozilla.com/D177887
-
- May 10, 2023
-
-
Gabriele Svelto authored
Bug 1752703 - Add interposers for functions manipulating the environment to prevent crashes r=glandium a=pascalc This add interposers for getenv(), putenv(), setenv(), unsetenv() and clearenv(). All interposers use a single lock for synchronization while internally using the libc-provided functions. This is done to prevent races that typically happen in Firefox code when multiple threads call getenv() while others are changing variables using setenv() and putenv(). Differential Revision: https://phabricator.services.mozilla.com/D164471
-
Gabriele Svelto authored
Bug 1752703 - Add interposers for functions manipulating the environment to prevent crashes r=glandium This add interposers for getenv(), putenv(), setenv(), unsetenv() and clearenv(). All interposers use a single lock for synchronization while internally using the libc-provided functions. This is done to prevent races that typically happen in Firefox code when multiple threads call getenv() while others are changing variables using setenv() and putenv(). Differential Revision: https://phabricator.services.mozilla.com/D164471
-
Gabriele Svelto authored
Bug 1752703 - Move the pthread_thread_create() interposer under mozglue and prepare for having a single place where we place interposer functions r=glandium a=pascalc Differential Revision: https://phabricator.services.mozilla.com/D164470
-
Gabriele Svelto authored
Bug 1752703 - Move the pthread_thread_create() interposer under mozglue and prepare for having a single place where we place interposer functions r=glandium Differential Revision: https://phabricator.services.mozilla.com/D164470
-
Makoto Kato authored
From pthread.h in NDK r25c ``` #if __ANDROID_API__ < 21 ... int pthread_cond_timedwait_relative_np(pthread_cond_t* __cond, pthread_mutex_t* __mutex, const struct timespec* __relative_timeout); #endif ``` So we should use __ANDROID_API__ instead of __LP64__. Differential Revision: https://phabricator.services.mozilla.com/D177464
-
Sandor Molnar authored
Backed out 2 changesets (bug 1752703) for causing spider-monkey failures in /mozglue/interposers/env_interposer.cpp CLOSED TREE Backed out changeset 621d691fcf43 (bug 1752703) Backed out changeset a53bc961d958 (bug 1752703)
-
Gabriele Svelto authored
Bug 1752703 - Add interposers for functions manipulating the environment to prevent crashes r=glandium This add interposers for getenv(), putenv(), setenv(), unsetenv() and clearenv(). All interposers use a single lock for synchronization while internally using the libc-provided functions. This is done to prevent races that typically happen in Firefox code when multiple threads call getenv() while others are changing variables using setenv() and putenv(). Differential Revision: https://phabricator.services.mozilla.com/D164471
-
Gabriele Svelto authored
Bug 1752703 - Move the pthread_thread_create() interposer under mozglue and prepare for having a single place where we place interposer functions r=glandium Differential Revision: https://phabricator.services.mozilla.com/D164470
-
- May 09, 2023
-
-
Mike Hommey authored
Differential Revision: https://phabricator.services.mozilla.com/D177549
-
Narcis Beleuzu authored
Backed out changeset 4ecb79ef23ae (bug 1752703) Backed out changeset 1701c20a5da3 (bug 1752703)
-
Gabriele Svelto authored
Bug 1752703 - Add interposers for functions manipulating the environment to prevent crashes r=glandium This add interposers for getenv(), putenv(), setenv(), unsetenv() and clearenv(). All interposers use a single lock for synchronization while internally using the libc-provided functions. This is done to prevent races that typically happen in Firefox code when multiple threads call getenv() while others are changing variables using setenv() and putenv(). Differential Revision: https://phabricator.services.mozilla.com/D164471
-
Gabriele Svelto authored
Bug 1752703 - Move the pthread_thread_create() interposer under mozglue and prepare for having a single place where we place interposer functions r=glandium Differential Revision: https://phabricator.services.mozilla.com/D164470
-
Mike Hommey authored
Differential Revision: https://phabricator.services.mozilla.com/D177549
-
- May 02, 2023
-
-
Tom Ritter authored
Depends on D176730 Differential Revision: https://phabricator.services.mozilla.com/D176731
-
- Apr 27, 2023
-
-
Tyson Smith authored
Differential Revision: https://phabricator.services.mozilla.com/D174937
-
- Apr 25, 2023
-
-
Mike Hommey authored
The new API landed in https://github.com/rust-lang/rust/pull/109507 Differential Revision: https://phabricator.services.mozilla.com/D176383
-
Narcis Beleuzu authored
Backed out changeset 6da3251ba597 (bug 1825171) for failures on test_shutdown_pings_succeed.py . CLOSED TREE
-
- Apr 24, 2023
-
-
Tyson Smith authored
Differential Revision: https://phabricator.services.mozilla.com/D174937
-
Ryan VanderMeulen authored
Differential Revision: https://phabricator.services.mozilla.com/D176201
-
Ryan VanderMeulen authored
Differential Revision: https://phabricator.services.mozilla.com/D176203
-
- Apr 20, 2023
-
-
Mike Hommey authored
Differential Revision: https://phabricator.services.mozilla.com/D175814
-
- Apr 05, 2023
-
-
Adam Brouwers-Harries authored
This patch replaces "custom" underlying type definitions with definitions gleaned using the std::underlying_type mechanism. This allows us to directly set the underlying type for the enums without having to name it, and reduces the number of semantically identical names in the profile buffer code. Differential Revision: https://phabricator.services.mozilla.com/D174260
-
- Mar 31, 2023
-
-
Henrik Skupin authored
Bug 1818080 - [remote] Add profile markers for CDP, Marionette and WebDriver BiDi commands and events. r=webdriver-reviewers,canaltinova,jdescottes Differential Revision: https://phabricator.services.mozilla.com/D174211
-