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