Re: [PATCH v15 5/9] mm: rust: add mmput_async support

Lorenzo Stoakes
2025-03-10T14:20:37Z

On Mon, Mar 10, 2025 at 09:23:49AM +0000, Alice Ryhl wrote:
> On Sun, Mar 09, 2025 at 07:37:54PM +0800, kernel test robot wrote:
> > >> error[E0425]: cannot find function `mmput_async` in crate `bindings`
> > --> rust/kernel/mm.rs:143:28
> > |
> > 143 | unsafe { bindings::mmput_async(obj.cast().as_ptr()) };
> > | ^^^^^^^^^^^ not found in `bindings`
>
> It looks like the mmput_async function doesn't exist at all when
> CONFIG_MMU is disabled?

Yeah, !CONFIG_MMU is a constant source of headaches and pain :/ is there a
way to just require CONFIG_MMU for the rust bits? As far as I'm concerned
!CONFIG_MMU is a relic... (not everybody agrees of course :>)

>
> I guess I can just make the MmWithUserAsync type not exist at all when
> CONFIG_MMU is disabled to mirror that, but it seems a bit weird.

It can sometimes be a bit weird to figure out what should or should not
exist with !CONFIG_MMU, some things end up being bizarre without it.

But I'd say, if it relies on a CONFIG_MMU binding for this to function at
all, then it not existing with CONFIG_MMU is valid.

>
> Alice