Re: [PATCH v2 4/4] rust: add abstraction for `struct page`

From: Martin Rodriguez Reboredo
Date: Mon Feb 12 2024 - 13:12:03 EST


On 2/12/24 06:36, Alice Ryhl wrote:
On Sat, Feb 10, 2024 at 5:23 AM Martin Rodriguez Reboredo
<yakoyoku@xxxxxxxxx> wrote:

On 2/8/24 12:47, Alice Ryhl wrote:
[...]
+ /// Maps the page and reads from it into the given buffer.
+ ///
+ /// This method will perform bounds checks on the page offset. If `offset ..
+ /// offset+len` goes outside ot the page, then this call returns `EINVAL`.
+ ///
+ /// # Safety
+ ///
+ /// * Callers must ensure that `dst` is valid for writing `len` bytes.
+ /// * Callers must ensure that this call does not race with a write to the
+ /// same page that overlaps with this read.

This safety section says that a call mustn't race with a page that
overlaps this read, hmmmmm.

Is there a question here?

I've said more like introducing the next point, but if you want to use
`copy_nonoverlapping` then the safety section should mention that both
`src` and `dst` memory areas are forbidden to be overlapping.

[...]
I'll use copy_nonoverlapping. Thanks for the suggestion.

Alice

You're welcome.