efi_loader: Don't limit the StMM buffer size explicitly
authorIlias Apalodimas <apalos@gmail.com>
Fri, 24 Dec 2021 08:08:41 +0000 (10:08 +0200)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sun, 26 Dec 2021 05:49:14 +0000 (06:49 +0100)
commit2b18d95d91c8d52a1971f93202c6b8212fa4f27e
tree769c309097107dc3ddd8c31766faf5e15bd9a25a
parentcc65faf2a38c6241eefcabf0c68dbde2f04d7cf2
efi_loader: Don't limit the StMM buffer size explicitly

Currently we allow and explicitly check a single shared page with
StandAloneMM.  This is dictated by OP-TEE which runs the application.
However there's no way for us dynamically discover the number of pages we
are allowed to use.  Since writing big EFI signature list variable
requires more than a page, OP-TEE has bumped the number of shared pages to
four.

Let's remove our explicit check and allow the request to reach OP-TEE even
if it's bigger than what it supports.  There's no need to sanitize the
number of pages internally.  OP-TEE will fail if we try to write more
than it's allowed. The error will just trigger later on,  during the
StMM access.

While at it add an error message to help users figure out what failed.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Tested-by: Ying-Chun Liu (PaulLiu) <paul.liu@linaro.org>
Signed-off-by: Ilias Apalodimas <apalos@gmail.com>
include/tee.h
lib/efi_loader/efi_variable_tee.c