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