[webkit-changes] [WebKit/WebKit] 66f743: New exception handler adoption with fallback

Keith Miller noreply at github.com
Fri Mar 22 16:50:41 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 66f743ca6ca6bdbf5241994991b09c8aba0c1c06
      https://github.com/WebKit/WebKit/commit/66f743ca6ca6bdbf5241994991b09c8aba0c1c06
  Author: Keith Miller <keith_miller at apple.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M Source/JavaScriptCore/jsc.cpp
    M Source/JavaScriptCore/runtime/InitializeThreading.cpp
    M Source/JavaScriptCore/runtime/MachineContext.h
    M Source/JavaScriptCore/runtime/VMTraps.cpp
    M Source/JavaScriptCore/wasm/WasmFaultSignalHandler.cpp
    M Source/JavaScriptCore/wasm/WasmFaultSignalHandler.h
    M Source/WTF/WTF.xcodeproj/project.pbxproj
    M Source/WTF/wtf/PlatformJSCOnly.cmake
    M Source/WTF/wtf/PlatformMac.cmake
    M Source/WTF/wtf/PlatformRegisters.cpp
    M Source/WTF/wtf/PlatformRegisters.h
    M Source/WTF/wtf/spi/darwin/SandboxSPI.h
    M Source/WTF/wtf/threads/Signals.cpp
    M Source/WTF/wtf/threads/Signals.h
    M Source/WTF/wtf/win/SignalsWin.cpp
    M Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
    M Source/WebKit/WebProcess/com.apple.WebProcess.sb.in
    M Tools/TestWebKitAPI/Tests/WTF/Signals.cpp

  Log Message:
  -----------
  New exception handler adoption with fallback
https://bugs.webkit.org/show_bug.cgi?id=271489
rdar://119256062

Reviewed by Per Arne Vollan.

Patch by Brandon Kayes and Keith Miller.

This adopts the new hardened mach exception mechanism which was
introduced in darwin recently. See the radar for more details.
This attempt to land this patch should work with stale sandbox
profiles, which was causing problems with the previous iteration.

* Source/JavaScriptCore/jsc.cpp:
(main):
(CommandLine::parseArguments):
* Source/JavaScriptCore/runtime/InitializeThreading.cpp:
(JSC::initialize):
* Source/JavaScriptCore/runtime/MachineContext.h:
(JSC::MachineContext::setInstructionPointer):
* Source/JavaScriptCore/runtime/VMTraps.cpp:
* Source/JavaScriptCore/wasm/WasmFaultSignalHandler.cpp:
(JSC::Wasm::MachExceptionSigningKey::MachExceptionSigningKey):
(JSC::Wasm::trapHandler):
(JSC::Wasm::activateSignalingMemory):
(): Deleted.
* Source/JavaScriptCore/wasm/WasmFaultSignalHandler.h:
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/PlatformJSCOnly.cmake:
* Source/WTF/wtf/PlatformMac.cmake:
* Source/WTF/wtf/PlatformRegisters.cpp:
(WTF::threadStatePCInternal):
* Source/WTF/wtf/PlatformRegisters.h:
* Source/WTF/wtf/spi/darwin/SandboxSPI.h:
* Source/WTF/wtf/threads/Signals.cpp:
(WTF::initMachExceptionHandlerThread):
(WTF::setExceptionPorts):
(WTF::activateSignalHandlersFor):
(WTF::finalizeSignalHandlers):
(WTF::toMachMask): Deleted.
* Source/WTF/wtf/threads/Signals.h:
(WTF::toMachMask):
(WTF::initializeSignalHandling):
(WTF::disableSignalHandling):
* Source/WTF/wtf/win/SignalsWin.cpp:
(WTF::finalizeSignalHandlers):
* Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
* Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:
* Tools/TestWebKitAPI/Tests/WTF/Signals.cpp:
(TEST):

Canonical link: https://commits.webkit.org/276579@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list