Re: [PATCHv5 08/12] x86/mm: Provide helpers for unaccepted memory

Borislav Petkov
2022-05-11T09:07:30Z

On Wed, May 11, 2022 at 04:15:35AM +0300, Kirill A. Shutemov wrote:
> Okay. Fair enough. I will change it to
>
> panic("Cannot accept memory: unknown platform.");

So I haven't went all the way in the patchset but what I see is:

/* Platform-specific memory-acceptance call goes here */
if (cpu_feature_enabled(X86_FEATURE_TDX_GUEST)) {
tdx_accept_memory(range_start * PMD_SIZE,
range_end * PMD_SIZE);
} else {
panic("Cannot accept memory");
}

so how would you decide for some other platform that it should panic?

TDX should panic, that I get. But you can just as well WARN_ONCE() here
so that it gets fixed. Panicking is counterproductive.

> It checks if the range of memory requires accept_memory() call before it
> can be accessed.
>
> If any part of the range is not accepted, the call is required.
> accept_memory() knows what exactly has to be done. Note that
> accept_memory() call is harmless for any valid memory range.
> It can be called on already accepted memory.

Aaah, so that's what I was missing. So this function definitely needs a
comment ontop of it. And a name change to something like

range_contains_unaccepted_memory()

or so to actually state what it does.

--
Regards/Gruss,
Boris.