Messages in this thread | | | Date | Tue, 27 Feb 2024 15:37:11 +0000 | From | Matthew Wilcox <> | Subject | Re: [PATCH v2 4/4] rust: add abstraction for `struct page` |
| |
On Thu, Feb 08, 2024 at 03:47:54PM +0000, Alice Ryhl wrote: > +impl Page { > + /// Allocates a new page. > + pub fn new() -> Result<Self, AllocError> { > + // SAFETY: These are the correct arguments to allocate a single page. > + let page = unsafe { > + bindings::alloc_pages( > + bindings::GFP_KERNEL | bindings::__GFP_ZERO | bindings::__GFP_HIGHMEM,
I thought I raised this last time, but this is over-specialised for Binder's purposes. Many places that want to allocate a page want different GFP flags from this; they shouldn't even be the default flags. So either what you're defining here is a BinderPage, or new() needs to take GFP flags.
| |