Re: [PATCH v20 4/8] rust: page: convert to `Ownable`'
Alice Ryhl <[email protected]>
| Newsgroups | org.kernel.vger.rust-for-linux,dev.linux.lists.driver-core,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-block,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci,org.kernel.vger.linux-pm,org.kernel.vger.linux-pwm,org.kernel.vger.linux-security-module,org.kernel.vger.linux-usb,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
On Mon, Aug 24, 2026 at 01:17:56PM +0200, Andreas Hindborg wrote:
> + // SAFETY: We just successfully allocated a page, so we now have ownership of the newly
> + // allocated page. We transfer that ownership to the new `Owned<Page>` object.
> + // Since `Page` is transparent, we can cast the pointer directly.
> + Ok(unsafe { Owned::from_raw(page.cast()) })
This doesn't satisfy the safety requirements of Owned::from_raw()
because the page may be used with vm_insert_page(), which increments its
refcount and causes it to be shared the vma system, and this occurs
before Page::release() is called.
Alice