On Thu, 31 Oct 2024 14:32:46 GMT, Per Minborg <pminb...@openjdk.org> 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

Reply via email to