Skip to content

Commit 6609dd8

Browse files
committed
Make test_arm64 slightly more robust
1 parent ce4921d commit 6609dd8

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

tests/unit/test_arm64.c

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -785,12 +785,12 @@ static void test_arm64_pauth(void)
785785
const uint32_t APIBKeyHi_EL1[5] = { 0b11, 0b000, 0b0010, 0b0001, 0b011 };
786786
const uint32_t APDAKeyLo_EL1[5] = { 0b11, 0b000, 0b0010, 0b0010, 0b000 };
787787
const uint32_t APDAKeyHi_EL1[5] = { 0b11, 0b000, 0b0010, 0b0010, 0b001 };
788-
test_arm64_pauth_cp_reg_write(uc, APIAKeyLo_EL1, 0xAAAAAAAAAAAAAAAA);
789-
test_arm64_pauth_cp_reg_write(uc, APIAKeyHi_EL1, 0xBBBBBBBBBBBBBBBB);
790-
test_arm64_pauth_cp_reg_write(uc, APIBKeyLo_EL1, 0xCCCCCCCCCCCCCCCC); // != IA
791-
test_arm64_pauth_cp_reg_write(uc, APIBKeyHi_EL1, 0xDDDDDDDDDDDDDDDD);
792-
test_arm64_pauth_cp_reg_write(uc, APDAKeyLo_EL1, 0xAAAAAAAAAAAAAAAA); // == IA
793-
test_arm64_pauth_cp_reg_write(uc, APDAKeyHi_EL1, 0xBBBBBBBBBBBBBBBB);
788+
test_arm64_pauth_cp_reg_write(uc, APIAKeyLo_EL1, 0xAAAAAAAAAAAAAAAAULL);
789+
test_arm64_pauth_cp_reg_write(uc, APIAKeyHi_EL1, 0xBBBBBBBBBBBBBBBBULL);
790+
test_arm64_pauth_cp_reg_write(uc, APIBKeyLo_EL1, 0xCCCCCCCCCCCCCCCCULL); // != IA
791+
test_arm64_pauth_cp_reg_write(uc, APIBKeyHi_EL1, 0xDDDDDDDDDDDDDDDDULL);
792+
test_arm64_pauth_cp_reg_write(uc, APDAKeyLo_EL1, 0xAAAAAAAAAAAAAAAAULL); // == IA
793+
test_arm64_pauth_cp_reg_write(uc, APDAKeyHi_EL1, 0xBBBBBBBBBBBBBBBBULL);
794794

795795
// Verify that paciza and uc_ctl_pauth_sign() result in the same signed
796796
// pointer.
@@ -815,15 +815,19 @@ static void test_arm64_pauth(void)
815815

816816
// Verify that authenticating works as expected.
817817

818-
bool valid = false;
818+
bool valid = true;
819819
OK(uc_ctl_pauth_auth(uc, ptr, UC_ARM64_PAUTH_KEY_IA, 0, &valid));
820820
TEST_CHECK(!valid); // unsigned pointer
821+
valid = false;
821822
OK(uc_ctl_pauth_auth(uc, x1, UC_ARM64_PAUTH_KEY_IA, 0, &valid));
822823
TEST_CHECK(valid); // signed pointer
824+
valid = true;
823825
OK(uc_ctl_pauth_auth(uc, x1, UC_ARM64_PAUTH_KEY_IA, 1337, &valid));
824826
TEST_CHECK(!valid); // wrong diversifier
827+
valid = true;
825828
OK(uc_ctl_pauth_auth(uc, x1, UC_ARM64_PAUTH_KEY_IB, 0, &valid));
826829
TEST_CHECK(!valid); // wrong but enabled key
830+
valid = true;
827831
OK(uc_ctl_pauth_auth(uc, x1, UC_ARM64_PAUTH_KEY_DA, 0, &valid));
828832
TEST_CHECK(!valid); // disabled but same value key
829833

0 commit comments

Comments
 (0)