On Thu, 31 Oct 2024 14:32:46 GMT, Per Minborg <[email protected]> wrote:
>> This PR proposes to add a small text segment on the
>> `MemorySegment::reinterpret` overloads that takes an Arena stating the
>> responsibility of actually freeing reinterpreted segments lies with the
>> *original* arena.
>
> Per Minborg has updated the pull request incrementally with one additional
> commit since the last revision:
>
> Improve docs
src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 766:
> 764: * method returns a segment that can be used as any other segment
> allocated using the
> 765: * provided arena. However, The returned segment is backed by the
> same memory region
> 766: * as that of the original segment. As such, the region of memory
> backing the
s/original/this
src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 768:
> 766: * as that of the original segment. As such, the region of memory
> backing the
> 767: * returned segment is deallocated only when the original segment's
> arena is closed.
> 768: * Care must be taken as this might lead to unexpected behavior:
maybe s/unexpected/unsafe
src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 770:
> 768: * Care must be taken as this might lead to unexpected behavior:
> 769: * <ol>
> 770: * <li>The reinterpreted segment can be accessed <em>after</em>
> its region
s/reinterpreted/returned
src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 771:
> 769: * <ol>
> 770: * <li>The reinterpreted segment can be accessed <em>after</em>
> its region
> 771: * of memory has been deallocated via the original arena
> (use after free).</li>
s/the original arena/this segment's arena
src/java.base/share/classes/java/lang/foreign/MemorySegment.java line 771:
> 769: * <ol>
> 770: * <li>The reinterpreted segment can be accessed <em>after</em>
> its region
> 771: * of memory has been deallocated via the original arena
> (use after free).</li>
Suggestion:
* of memory has been deallocated via the original arena, resulting
in *use after free*.</li>
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21761#discussion_r1824872032
PR Review Comment: https://git.openjdk.org/jdk/pull/21761#discussion_r1824875339
PR Review Comment: https://git.openjdk.org/jdk/pull/21761#discussion_r1824876869
PR Review Comment: https://git.openjdk.org/jdk/pull/21761#discussion_r1824878427
PR Review Comment: https://git.openjdk.org/jdk/pull/21761#discussion_r1824880684