On 22.07.23 20:10, Jarkko Sakkinen wrote:
This code is not meant for production. I implemented it specifically for kselftest, and that is exactly its scope.
I see, makes sense. As per Dave's suggestion, I'll see if I can submit a proposed minimal patch to remove any existing sanitization code that is not necessary for kselftest (eg register cleansing) and avoid any misguided impressions of the test enclave being representative.
I'm not sure what is "correct" behavior in the context of a kselftest instance.
True. But at least when defining "correct" as passing the selftests, then I think it makes sense to merge the compiler optimization fixes. As the existing code clearly emits wrong assembly that breaks the selftests when switching optimization levels (which may always also be incorporated by default in future gcc versions or other compilers like clang).
Thus, I'll separate this out and submit another patch to ensure correctness with compiler optimizations only.
Best, Jo