From: Petr Vorel <petr.vorel@xxxxxxxxx> Hi Mimi, all, I fixed 2 regressions I found in the previous implementation. I'm planning to solve problem with ima_measurements.sh (second commit). There is also other problem with loading kexec.policy and then running ima_measurements.sh on SUT with ima_policy=tcb. The latest line in ascii_runtime_measurements_sha1 was made by ima_kexec.sh: 10 b3c3b7b9da36d5cd992272d3384a783b450ce304 ima-buf sha256:ac8bd67bdaded63be9231c495585fd88edce0812d9b677e1e1e219e2dd3bcd60 key_import_test 30820286308201efa00302010202145be0234ff3adf050349b33 30820286308201efa00302010202145be0234ff3adf050349b33b89465a6aab6e339f7300d06092a864886f70d01010b050030503111300f060355040a0c08686f73746e616d65311b301906035504030c1277686f616d69207369676e696e67206b6579311e301c06092a864886f70d010901160f77686f616d6940686f73746e616d65301e170d3139303832323032323930325a170d3230303832313032323930325a30503111300f060355040a0c08686f73746e616d65311b301906035504030c1277686f616d69207369676e696e67206b6579311e301c06092a864886f70d010901160f77686f616d6940686f73746e616d6530819f300d06092a864886f70d010101050003818d0030818902818100ee96b264072a42888f78a2f9b8198467a3ad97d126f3d1cc1c24d23e7185cc743b04d4a54254ca16e1e11ed4450deb98b1f7bb4288424570fabcfc6d5aa93a2a14fa2b7835ac877cfea761e5ff414c6ee274eff26f8bd6c484312e56619299acf0dbd224b87c3883b66a9393d21af8962458663b0ac1706c63773cd50e8236270203010001a35d305b300c0603551d130101ff04023000300b0603551d0f040403020780301d0603551d0e04160414052dd247dc3c36d6d60675fe7ae869790be56171301f0603551d23041830168014e36710f0834c973ed94a186fbcd22375b45e2454300d06092a864886f70d01010b050003818100b12faeff1e0e390cfd5eb7140af3b7a653cb49c6ab0a23be24c035331d7600c8f758f9df7fdfc5eeb6fec35859203eca0e4f01f9a79a58be630947cb959a52d3f2de96f210d49247c33a6226dc2a52ee541069ed3c621f8767fd36a061e9a61adb5d1dd34499d99a1ce6baa496b4f5e2268bfc52c3eea4a6b7b5181f08524aee # LTP_IMA_LOAD_POLICY=1 LTPROOT=/opt/ltp PATH="/opt/ltp/testcases/bin:$PATH" ima_kexec.sh ima_kexec 1 TINFO: Running: ima_kexec.sh ima_kexec 1 TINFO: Tested kernel: Linux ts 6.13.0-2.g0127a37-default #1 SMP PREEMPT_DYNAMIC Thu Jan 23 11:21:55 UTC 2025 (0127a37) x86_64 x86_64 x86_64 GNU/Linux ima_kexec 1 TINFO: Using /tmp/LTP_ima_kexec.9B6OvGtNZh as tmpdir (tmpfs filesystem) tst_device.c:96: TINFO: Found free device 0 '/dev/loop0' ima_kexec 1 TINFO: Formatting ext3 with opts='/dev/loop0' ima_kexec 1 TINFO: Mounting device: mount -t ext3 /dev/loop0 /tmp/LTP_ima_kexec.9B6OvGtNZh/mntpoint ima_kexec 1 TINFO: timeout per run is 0h 5m 0s ima_kexec 1 TINFO: IMA kernel config: ima_kexec 1 TINFO: CONFIG_IMA=y ima_kexec 1 TINFO: CONFIG_IMA_MEASURE_PCR_IDX=10 ima_kexec 1 TINFO: CONFIG_IMA_LSM_RULES=y ima_kexec 1 TINFO: CONFIG_IMA_NG_TEMPLATE=y ima_kexec 1 TINFO: CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" ima_kexec 1 TINFO: CONFIG_IMA_DEFAULT_HASH_SHA256=y ima_kexec 1 TINFO: CONFIG_IMA_DEFAULT_HASH="sha256" ima_kexec 1 TINFO: CONFIG_IMA_READ_POLICY=y ima_kexec 1 TINFO: CONFIG_IMA_APPRAISE=y ima_kexec 1 TINFO: CONFIG_IMA_ARCH_POLICY=y ima_kexec 1 TINFO: CONFIG_IMA_APPRAISE_BOOTPARAM=y ima_kexec 1 TINFO: CONFIG_IMA_APPRAISE_MODSIG=y ima_kexec 1 TINFO: CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y ima_kexec 1 TINFO: CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y ima_kexec 1 TINFO: CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT=y ima_kexec 1 TINFO: CONFIG_IMA_DISABLE_HTABLE=y ima_kexec 1 TINFO: /proc/cmdline: BOOT_IMAGE=/boot/vmlinuz-6.13.0-2.g0127a37-default root=UUID=e36b2366-1af2-4408-903c-1fca82c60f4c splash=silent video=1024x768 plymouth.ignore-serial-consoles console=ttyS0 console=tty kernel.softlockup_panic=1 resume=/dev/disk/by-uuid/c3b865f9-5d5b-410e-a6d1-9ebcf721584c mitigations=auto security=apparmor ignore_loglevel ima_policy=tcb ima_kexec 1 TINFO: $TMPDIR is on tmpfs => run on loop device ima_kexec 1 TINFO: test requires IMA policy: measure func=KEXEC_CMDLINE ima_kexec 1 TINFO: WARNING: missing required policy content: 'measure func=KEXEC_CMDLINE' ima_kexec 1 TINFO: trying to load '/opt/ltp/testcases/data/ima_kexec/kexec.policy' policy: measure func=KEXEC_CMDLINE ima_kexec 1 TINFO: example policy successfully loaded ima_kexec 1 TINFO: using kernel /boot/vmlinuz-6.13.0-2.g0127a37-default ima_kexec 1 TINFO: testing kexec -s -l /boot/vmlinuz-6.13.0-2.g0127a37-default --reuse-cmdline ima_kexec 1 TPASS: kexec cmdline was measured correctly ima_kexec 2 TINFO: testing kexec -s -l /boot/vmlinuz-6.13.0-2.g0127a37-default --append=foo ima_kexec 2 TPASS: kexec cmdline was measured correctly ima_kexec 3 TINFO: testing kexec -s -l /boot/vmlinuz-6.13.0-2.g0127a37-default --command-line=bar ima_kexec 3 TPASS: kexec cmdline was measured correctly ima_kexec 4 TINFO: WARNING: policy loaded via LTP_IMA_LOAD_POLICY=1, reboot recommended ... # LTPROOT=/opt/ltp PATH="/opt/ltp/testcases/bin:$PATH" ima_measurements.sh ... ima_measurements 1 TINFO: booted with IMA policy: tcb ima_measurements 1 TINFO: verify adding record to the IMA measurement list ima_measurements 1 TBROK: failed to get algorithm/digest for '/tmp/LTP_ima_measurements.GwyPzk6lb8/mntpoint/test.txt' Kind regards, Petr Petr Vorel (2): ima_measurements.sh: Fix exit code condition ima_setup.sh: Quit the test on unsuitable IMA policy .../integrity/ima/tests/ima_measurements.sh | 4 ++-- .../security/integrity/ima/tests/ima_setup.sh | 14 ++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-)