[PATCH 0/3] avb: start handling too small buffer for reading persistent values

Rasmus Villemoes <[email protected]>
Newsgroups org.u-boot-project.lists.u-boot
Message-ID <[email protected]>
The avb_ops.h header clearly indicates that it should be possible for
the callers of the read_persistent_value interface to know that they
provided too small a buffer, and the interface should also tell the
callers how big a buffer would need to be.

However, that was never really implemented, neither here nor on the
op-tee side. So if a too small buffer is passed, the caller simply
gets a silently truncated result.

I've proposed a fix on the op-tee side:
https://github.com/OP-TEE/optee_os/pull/7959 . Since that is an ABI
change (returning an error where it previously "succeeded", for some
definition of succeed), the maintainer would like to see client side
updates as well before that can be merged. So here are some of the
changes that would be needed in U-Boot.

I have not yet looked at any of the callers of the
->read_persistent_value method via the avb_ops structure, only the
implementation of that method itself.

Rasmus Villemoes (3):
  cmd: optee_rpmb: sanitize TEE_ERROR -> E* translations
  cmd: optee_rpmb: try to allocate large enough buffer when reading
    persistent value
  avb_verify: read_persistent_value: honour contract regarding too small
    buffer

 cmd/optee_rpmb.c    | 45 ++++++++++++++++++++++++++++++---------------
 common/avb_verify.c |  5 ++++-
 2 files changed, 34 insertions(+), 16 deletions(-)

-- 
2.55.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.