Title: [288677] trunk/Source/_javascript_Core
Revision
288677
Author
commit-qu...@webkit.org
Date
2022-01-27 10:04:31 -0800 (Thu, 27 Jan 2022)

Log Message

Check the process has the dynamic-codesigning entitlement before trying to allocate a holding JIT region
https://bugs.webkit.org/show_bug.cgi?id=235673
rdar://88094997

Patch by Gavin Phillips <gavi...@apple.com> on 2022-01-27
Reviewed by Saam Barati.

We only need to allocate a holding JIT region, for processes with the JIT disabled, if that process has the
dynamic-codesigning entitlement. We can skip this allocation if the process doesn't have that entitlement.

* jit/ExecutableAllocator.cpp:
(JSC::ExecutableAllocator::setJITEnabled):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (288676 => 288677)


--- trunk/Source/_javascript_Core/ChangeLog	2022-01-27 17:58:50 UTC (rev 288676)
+++ trunk/Source/_javascript_Core/ChangeLog	2022-01-27 18:04:31 UTC (rev 288677)
@@ -1,3 +1,17 @@
+2022-01-27  Gavin Phillips  <gavi...@apple.com>
+
+        Check the process has the dynamic-codesigning entitlement before trying to allocate a holding JIT region
+        https://bugs.webkit.org/show_bug.cgi?id=235673
+        rdar://88094997
+
+        Reviewed by Saam Barati.
+
+        We only need to allocate a holding JIT region, for processes with the JIT disabled, if that process has the
+        dynamic-codesigning entitlement. We can skip this allocation if the process doesn't have that entitlement.
+
+        * jit/ExecutableAllocator.cpp:
+        (JSC::ExecutableAllocator::setJITEnabled):
+
 2022-01-26  Antoine Quint  <grao...@webkit.org>
 
         [Web Inspector] Update return value name for Animation.requestEffectTarget()

Modified: trunk/Source/_javascript_Core/jit/ExecutableAllocator.cpp (288676 => 288677)


--- trunk/Source/_javascript_Core/jit/ExecutableAllocator.cpp	2022-01-27 17:58:50 UTC (rev 288676)
+++ trunk/Source/_javascript_Core/jit/ExecutableAllocator.cpp	2022-01-27 18:04:31 UTC (rev 288677)
@@ -140,7 +140,7 @@
     g_jscConfig.jitDisabled = !enabled;
 
 #if HAVE(IOS_JIT_RESTRICTIONS)
-    if (!enabled) {
+    if (!enabled && processHasEntitlement("dynamic-codesigning")) {
         // Because of an OS quirk, even after the JIT region has been unmapped,
         // the OS thinks that region is reserved, and as such, can cause Gigacage
         // allocation to fail. We work around this by initializing the Gigacage
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to