Title: [259848] trunk/Source/_javascript_Core
Revision
259848
Author
[email protected]
Date
2020-04-09 23:25:42 -0700 (Thu, 09 Apr 2020)

Log Message

Fix bad tests in testmasm's testCagePreservesPACFailureBit().
https://bugs.webkit.org/show_bug.cgi?id=210314
<rdar://problem/61556785>

Reviewed by Yusuke Suzuki.

Some of these tests will crash when validated untagging is enabled.

* assembler/testmasm.cpp:
(JSC::testCagePreservesPACFailureBit):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (259847 => 259848)


--- trunk/Source/_javascript_Core/ChangeLog	2020-04-10 05:48:35 UTC (rev 259847)
+++ trunk/Source/_javascript_Core/ChangeLog	2020-04-10 06:25:42 UTC (rev 259848)
@@ -1,3 +1,16 @@
+2020-04-09  Mark Lam  <[email protected]>
+
+        Fix bad tests in testmasm's testCagePreservesPACFailureBit().
+        https://bugs.webkit.org/show_bug.cgi?id=210314
+        <rdar://problem/61556785>
+
+        Reviewed by Yusuke Suzuki.
+
+        Some of these tests will crash when validated untagging is enabled.
+
+        * assembler/testmasm.cpp:
+        (JSC::testCagePreservesPACFailureBit):
+
 2020-04-08  Darin Adler  <[email protected]>
 
         [Cocoa] Simplify NSArray, NSDictionary, and NSNumber idioms throughout WebKit

Modified: trunk/Source/_javascript_Core/assembler/testmasm.cpp (259847 => 259848)


--- trunk/Source/_javascript_Core/assembler/testmasm.cpp	2020-04-10 05:48:35 UTC (rev 259847)
+++ trunk/Source/_javascript_Core/assembler/testmasm.cpp	2020-04-10 06:25:42 UTC (rev 259848)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2017-2019 Apple Inc. All rights reserved.
+ * Copyright (C) 2017-2020 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -2132,9 +2132,8 @@
     void* taggedNotCagedPtr = tagArrayPtr(notCagedPtr, 1);
 
     if (isARM64E()) {
-        // FIXME: This won't work if authentication failures trap but I don't know how to test for that right now.
         CHECK_NOT_EQ(invoke<void*>(cage, taggedPtr, 2), ptr);
-        CHECK_EQ(invoke<void*>(cage, taggedNotCagedPtr, 1), untagArrayPtr(taggedPtr, 2));
+        CHECK_NOT_EQ(invoke<void*>(cage, taggedNotCagedPtr, 1), ptr);
     } else
         CHECK_EQ(invoke<void*>(cage, taggedPtr, 2), ptr);
 
@@ -2150,11 +2149,10 @@
 
     CHECK_EQ(invoke<void*>(cageWithoutAuthentication, taggedPtr), taggedPtr);
     if (isARM64E()) {
-        // FIXME: This won't work if authentication failures trap but I don't know how to test for that right now.
         CHECK_NOT_EQ(invoke<void*>(cageWithoutAuthentication, taggedNotCagedPtr), taggedNotCagedPtr);
-        CHECK_NOT_EQ(untagArrayPtr(invoke<void*>(cageWithoutAuthentication, taggedNotCagedPtr), 1), notCagedPtr);
+        CHECK_NOT_EQ(invoke<void*>(cageWithoutAuthentication, taggedNotCagedPtr), tagArrayPtr(notCagedPtr, 1));
         CHECK_NOT_EQ(invoke<void*>(cageWithoutAuthentication, taggedNotCagedPtr), taggedPtr);
-        CHECK_NOT_EQ(untagArrayPtr(invoke<void*>(cageWithoutAuthentication, taggedNotCagedPtr), 1), ptr);
+        CHECK_NOT_EQ(invoke<void*>(cageWithoutAuthentication, taggedNotCagedPtr), tagArrayPtr(ptr, 1));
     }
 
     Gigacage::free(Gigacage::Primitive, ptr);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to