On aarch64 and x86_64 ABIs, the unused bits of 32-bit parameters have unspecified value. That means if, say, the aarch64 aes_hw_set_encrypt_key accessed the 'bits' parameter as X1 rather than W1, it could get a different value from what C passed in. To test this, our ABI testing framework fills the upper half of the register with garbage. However, set_encrypt_key just cleanly returns error on unrecognized bit length. So, to check that this all worked correctly, we need to assert that the return value was correct. Looking at the assembly, they all handle it correctly, but now we'll also test it. (Note these functions break the usual convention and use zero as the success value.) Change-Id: Icaf65ea54564ebfe3696b42287488fe3f72ef138 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/54205 Commit-Queue: David Benjamin <davidben@google.com> Commit-Queue: Bob Beck <bbe@google.com> Auto-Submit: David Benjamin <davidben@google.com> Reviewed-by: Bob Beck <bbe@google.com>chromium-5359
parent
10fef972e4
commit
34e474f794
1 changed files with 6 additions and 6 deletions
Loading…
Reference in new issue