Re: [PATCH v20 4/8] rust: page: convert to `Ownable`'
Alice Ryhl <[email protected]>
| Newsgroups | gmane.linux.pwm,gmane.linux.kernel.rust,gmane.linux.kernel,gmane.linux.kernel.mm,gmane.linux.block,gmane.linux.kernel.lsm,gmane.comp.video.dri.devel,gmane.linux.file-systems,gmane.linux.power-management.general,gmane.linux.kernel.pci,gmane.linux.usb.general |
|---|---|
| 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