ladybird/Userland/DevTools
Daniel Bertalan 87ef2718bc UserspaceEmulator+LibC: Use sys$emuctl() to disable auditing in malloc
It was fragile to use the address of the body of the memory management
functions to disable memory auditing within them. Functions called from
these did not get exempted from the audits, so in some cases
UserspaceEmulator reported bogus heap buffer overflows.

Memory auditing did not work at all on Clang because when querying the
addresses, their offset was taken relative to the base of `.text` which
is not the first segment in the `R/RX/RW(RELRO)/RW(non-RELRO)` layout
produced by LLD.

Similarly to when setting metadata about the allocations, we now use the
`emuctl` system call to selectively suppress auditing when we reach
these functions. This ensures that functions called from `malloc` are
affected too, and no issues occur because of the inconsistency between
Clang and GCC memory layouts.
2021-08-14 18:42:14 +02:00
..
HackStudio LibCpp: Understand preprocessor macro definition and invocation 2021-08-14 12:40:55 +02:00
Inspector Everywhere: Replace Model::update() with Model::invalidate() 2021-08-06 19:14:31 +02:00
IPCCompiler IPCCompiler: Use GENERATE_DEBUG from AK/Debug instead of custom defines 2021-07-12 12:26:52 +02:00
Playground LibGUI+Playground: Move GMLAutocompleteProvider to LibGUI 2021-07-29 11:33:16 +02:00
Profiler Profiler: Set the initial size of the timeline container to a snug fit 2021-08-14 01:28:26 +02:00
StateMachineGenerator DevTools: Remove unused header includes 2021-08-01 08:10:16 +02:00
UserspaceEmulator UserspaceEmulator+LibC: Use sys$emuctl() to disable auditing in malloc 2021-08-14 18:42:14 +02:00
CMakeLists.txt HackStudio: Enable building HackStudio on x86_64 2021-08-02 00:57:06 +02:00