RFR: 8299817: [s390] AES-CTR mode intrinsic fails with multiple short update() calls [v4]

Martin Doerr mdoerr at openjdk.org
Sat Feb 25 07:55:09 UTC 2023


On Mon, 20 Feb 2023 12:21:27 GMT, Lutz Schmidt <lucy at openjdk.org> wrote:

>> This PR addresses an issue in the AES-CTR mode intrinsic on s390. When a message is ciphered in multiple, small (< 16 bytes) segments, the result is incorrect.
>> 
>> This is not just a band-aid fix. The issue was taken as a chance to restructure the code. though still complicated, It is now easier to read and (hopefully) understand.
>> 
>> Except for the new jetreg test, the changes are purely s390. There are no side effects on other platforms. Issue-specific tests pass. Other tests are in progress. I will update this PR once they are complete. 
>> 
>> **Reviews and comments are very much appreciated.**
>> 
>> @backwaterred could you please run some "official" s390 tests? Thanks.
>
> Lutz Schmidt has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains four commits:
> 
>  - Merge master to resolve copyright conflict
>  - 829817: fixed typos, removed JIT_TIMER references
>  - 8299817: Update copyright
>  - 8299817: [s390] AES-CTR mode intrinsic fails with multiple short update() calls

Not a detailed review, but I couldn't spot anything bad.

test/hotspot/jtreg/compiler/codegen/aes/Test8299817.java line 67:

> 65:     public static void main(String[] args) throws Exception {
> 66:         if (!DEBUG_MODE) {
> 67:             if (!Compiler.isIntrinsicAvailable(CompilerWhiteBoxTest.COMP_LEVEL_FULL_OPTIMIZATION, "com.sun.crypto.provider.CounterMode", "implCrypt", byte[].class, int.class, int.class, byte[].class, int.class)) {

Maybe break the large lines?

-------------

Marked as reviewed by mdoerr (Reviewer).

PR: https://git.openjdk.org/jdk/pull/11967



More information about the security-dev mailing list