RFR: JDK-8275320: NMT should perform buffer overrun checks [v2]

Thomas Stuefe stuefe at openjdk.java.net
Thu Nov 18 15:25:20 UTC 2021


On Thu, 18 Nov 2021 13:34:11 GMT, Volker Simonis <simonis at openjdk.org> wrote:

>> Thomas Stuefe has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
>> 
>>  - Merge
>>  - Let NMT do overflow detection
>
> Hi Thoms,
> 
> your change looks good. I only have a few remarks and comments inline.
> 
> Best regards,
> Volker

Thanks a lot @simonis for the review!

I massaged the patch a bit, improving comments and rewriting the block print function. I think its now easier to understand. I also extended the dump size somewhat, now it looks like this:

corruption and header close together:

NMT Block at 0x00005571a7030330, corruption at: 0x00005571a7030341: 
0x00005571a70302b0:   30 1c 05 a7 71 55 00 00 60 e5 f3 31 fa 7f 00 00
0x00005571a70302c0:   47 e6 f3 31 fa 7f 00 00 11 e6 f3 31 fa 7f 00 00
0x00005571a70302d0:   84 e6 f3 31 fa 7f 00 00 f1 f1 f1 f1 f1 f1 f1 f1
0x00005571a70302e0:   00 00 00 00 f1 f1 f1 f1 fa ab ab ab ab ab ab ab
0x00005571a70302f0:   ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
0x00005571a7030300:   ab ba ba ba ba ba ba ba 51 00 00 00 00 00 00 00
0x00005571a7030310:   ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
0x00005571a7030320:   12 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00005571a7030330:   01 00 00 00 00 00 00 00 f1 f1 f1 f1 0f 00 1f fa
0x00005571a7030340:   f1 61 ab ab ab ab ab ab ab ab ab ab ab ab ab ab
0x00005571a7030350:   ab ab 00 00 00 00 00 00 61 00 00 00 00 00 00 00
0x00005571a7030360:   ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
0x00005571a7030370:   21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00005571a7030380:   10 00 00 00 00 00 00 00 f1 f1 f1 f1 0b 00 1f fa
0x00005571a7030390:   00 00 00 00 00 00 00 00 d8 a5 01 c8 f9 7f 00 00
0x00005571a70303a0:   fa ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
0x00005571a70303b0:   ab ba ba ba ba ba ba ba 61 00 00 00 00 00 00 00 


Corruption and header apart:

NMT Block at 0x0000564da16bee10, corruption at: 0x0000564da16c0e20: 
0x0000564da16bed90:   00 00 00 00 00 00 00 00 00 ba ba ba ba ba ba ba
0x0000564da16beda0:   ba ba ba ba ba ba ba ba 01 01 ba ba 00 00 00 00
0x0000564da16bedb0:   01 00 00 00 00 ba ba ba 64 00 00 00 ba ba ba ba
0x0000564da16bedc0:   d0 ed 6b a1 4d 56 00 00 00 00 00 00 00 00 00 00
0x0000564da16bedd0:   00 ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba
0x0000564da16bede0:   00 ba ba ba ba ba ba ba 51 20 00 00 00 00 00 00
0x0000564da16bedf0:   ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
0x0000564da16bee00:   11 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0000564da16bee10:   00 20 00 00 00 00 00 00 f1 f1 f1 f1 0f 00 1f fa
0x0000564da16bee20:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16bee30:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16bee40:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16bee50:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16bee60:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16bee70:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16bee80:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 
...
0x0000564da16c0da0:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16c0db0:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16c0dc0:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16c0dd0:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16c0de0:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16c0df0:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16c0e00:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16c0e10:   f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1 f1
0x0000564da16c0e20:   61 ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab
0x0000564da16c0e30:   ab ba ba ba ba ba ba ba d1 61 01 00 00 00 00 00
0x0000564da16c0e40:   ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba
0x0000564da16c0e50:   ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba
0x0000564da16c0e60:   ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba
0x0000564da16c0e70:   ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba
0x0000564da16c0e80:   ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba
0x0000564da16c0e90:   ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba ba 


Thanks!

Thomas

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

PR: https://git.openjdk.java.net/jdk/pull/5952


More information about the hotspot-dev mailing list