[webkit-changes] [WebKit/WebKit] 631724: Forbid JS execution in the GPU Process.

youennf noreply at github.com
Tue May 23 22:14:46 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 631724be62d95c99e442cfc06c2c7450ddc3a23e
      https://github.com/WebKit/WebKit/commit/631724be62d95c99e442cfc06c2c7450ddc3a23e
  Author: Mark Lam <mark.lam at apple.com>
  Date:   2023-05-23 (Tue, 23 May 2023)

  Changed paths:
    M Source/JavaScriptCore/assembler/AbortReason.h
    M Source/JavaScriptCore/interpreter/Interpreter.cpp
    M Source/JavaScriptCore/jit/ExecutableAllocator.cpp
    M Source/JavaScriptCore/llint/LLIntData.cpp
    M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
    M Source/JavaScriptCore/runtime/JSCConfig.h
    M Source/JavaScriptCore/runtime/VM.cpp
    M Source/WTF/wtf/Assertions.h
    M Source/WTF/wtf/WTFConfig.h
    M Source/WebKit/GPUProcess/EntryPoint/Cocoa/XPCService/GPUServiceEntryPoint.mm

  Log Message:
  -----------
  Forbid JS execution in the GPU Process.
https://bugs.webkit.org/show_bug.cgi?id=254101
rdar://106869810

Reviewed by Yusuke Suzuki and Justin Michaud.

The GPU Process does not need to execute any JS code.  We should enforce this invariant.

* Source/JavaScriptCore/assembler/AbortReason.h:
* Source/JavaScriptCore/interpreter/Interpreter.cpp
(JSC::Interpreter::Interpreter):
* Source/JavaScriptCore/jit/ExecutableAllocator.cpp:
(JSC::ExecutableAllocator::initialize):
* Source/JavaScriptCore/llint/LLIntData.cpp:
(JSC::LLInt::neuterOpcodeMaps):
(JSC::LLInt::initialize):
* Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::llint_check_vm_entry_permission):
* Source/JavaScriptCore/runtime/JSCConfig.h:
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::VM):
* Source/WTF/wtf/Assertions.h:
* Source/WTF/wtf/WTFConfig.h:
* Source/WebKit/GPUProcess/EntryPoint/Cocoa/XPCService/GPUServiceEntryPoint.mm:
(GPU_SERVICE_INITIALIZER):

Originally-landed-as: 259548.460 at safari-7615-branch (2396d8a6e829). rdar://109463439
Canonical link: https://commits.webkit.org/264457@main


  Commit: 611d8d08a798d5370bd90370176c1d42e02debbc
      https://github.com/WebKit/WebKit/commit/611d8d08a798d5370bd90370176c1d42e02debbc
  Author: Mark Lam <mark.lam at apple.com>
  Date:   2023-05-23 (Tue, 23 May 2023)

  Changed paths:
    M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
    M Source/WTF/WTF.xcodeproj/project.pbxproj
    M Source/WTF/wtf/Assertions.h
    A Source/WTF/wtf/spi/darwin/AbortWithReasonSPI.h

  Log Message:
  -----------
  Declare as abort_with_reason as SPI and add support for older builds.
https://bugs.webkit.org/show_bug.cgi?id=254551
<rdar://problem/107277043>

Reviewed by Tim Horton and Justin Michaud.

We only use abort_with_reason() with OS_REASON_FLAG_SECURITY_SENSITIVE, and that flag
is only available on newer OS versions.  Implement a back up implementation for older
OS versions.

* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/Assertions.h:
* Source/WTF/wtf/spi/darwin/AbortWithReasonSPI.h: Added.

Originally-landed-as: 259548.499 at safari-7615-branch (af3f7f9c0743). rdar://107277043
Canonical link: https://commits.webkit.org/264458@main


  Commit: ec81069dd2e6d97fe79ae294b0232795384aa976
      https://github.com/WebKit/WebKit/commit/ec81069dd2e6d97fe79ae294b0232795384aa976
  Author: Youenn Fablet <youennf at gmail.com>
  Date:   2023-05-23 (Tue, 23 May 2023)

  Changed paths:
    M Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp

  Log Message:
  -----------
  [root] 615.1.17: CrashTracer: com.apple.WebKit:  WTF::Detail::CallableWrapper<WebKit::NetworkProcessConnection::broadcastConsoleMessage(JSC::MessageSource, JSC::MessageLevel, WTF::String const&)::$_9, void, WebCore::Page&>::call
rdar://103903569

Reviewed by Alex Christensen.

Not all pages might have a corresponding WebPage.
iTo wrokaround this, we can directly go from Page to main frame document to print console messages.

* Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::broadcastConsoleMessage):

Originally-landed-as: 259548.510 at safari-7615-branch (e41d370e4050). rdar://109463439
Canonical link: https://commits.webkit.org/264459@main


Compare: https://github.com/WebKit/WebKit/compare/c6ea643a2652...ec81069dd2e6


More information about the webkit-changes mailing list