On 8/26/23 22:04, Greg Kroah-Hartman wrote:
>> Yeah, I guess the "ABI" word in misleading here, especially the first
>> letter. I mean something else: the old kernel/new kernel.
>> This persistent memory pool (its metadata) is supposed to be passed
>> across kexec with the data. That is probably the main difference in
>> comparison to pmem or cma.
>> Since the header can change its format between kernels, there should be
>> a way to identify it.
>
> Ah. Hah, that's crazy, and it's never going to work, you need to just
> test the version of the kernel that the image was created for (you have
> that in the kernel already) and verify that it is the same before
> loading the new one.
>
> That way you never have to worry about any "version number", it's just
> the kernel specific version number instead.
Checking the version of the kernel is not enough because you want to
support kexec to a newer kernel.
I agree though that a version number is not needed. In the end this is
just like a filesystem and you'd better keep it backwards compatible.
If you think you might need an extra field in the header, you have to
leave some padding and add a "flags" field that right now is always
zero. Or something like that.
Paolo