mbox series

[ima-evm-utils,0/8] Support testing with UML kernel

Message ID 20230109165552.3409716-1-roberto.sassu@huaweicloud.com (mailing list archive)
Headers show
Series Support testing with UML kernel | expand

Message

Roberto Sassu Jan. 9, 2023, 4:55 p.m. UTC
From: Roberto Sassu <roberto.sassu@huawei.com>

Add support for running existing and new tests in an environment created
with an UML kernel. Adapting existing tests requires minimal changes, such
as adding calls to a newly defined API.

The main benefit of using the UML kernel is to run tests in an environment
similar to a virtual machine, without however requiring the host to support
virtualization. The UML kernel runs as a regular process and has visibility
to the host filesystem.

Adapt the Github workflow to build the UML kernel from a chosen repository
and branch, and use it for the tests. In this way, the ima-evm-utils test
suite is self-contained and does not depend on external repositories. In
the future, ima-evm-utils might have separate tests for the user space part
and for the kernel part.

Finally, introduce a new set of tests for EVM portable signatures, adapt
the existing fsverity.test to run with the UML kernel, and optimize
fsverity.test to not require installation of built binaries.

Roberto Sassu (8):
  Fix error messages and mdlen init in calc_evm_hmac()
  Add config for UML kernel
  Compile the UML kernel and download it in Github Actions
  Add support for UML in functions.sh
  Introduce TST_LIST variable to select a test to execute
  Add tests for EVM portable signatures
  Adapt fsverity.test to work with UML kernel
  Use in-place built fsverity binary instead of installing it

 .github/workflows/ci.yml        |   92 ++-
 build.sh                        |    5 +
 ci/fedora.sh                    |   10 +-
 config-uml                      |  235 +++++++
 src/evmctl.c                    |    8 +-
 tests/Makefile.am               |    2 +-
 tests/fsverity.test             |   18 +-
 tests/functions.sh              |   91 ++-
 tests/install-fsverity.sh       |    2 +-
 tests/install-mount-idmapped.sh |    7 +
 tests/portable_signatures.test  | 1173 +++++++++++++++++++++++++++++++
 11 files changed, 1631 insertions(+), 12 deletions(-)
 create mode 100644 config-uml
 create mode 100755 tests/install-mount-idmapped.sh
 create mode 100755 tests/portable_signatures.test