Hi Bastian,

Thanks for adding more information here.

I've looked into the problem. The s390x should be the endian problem.
While the rest (i386, armel, armhf) is due to it is 32-bits.

According to the build log:
https://buildd.debian.org/status/fetch.php?pkg=tpm2-tss&arch=armhf&ver=4.0.1-1&stamp=1688685120&raw=0

The test failed at Test: tcti_libtpms_remap_state_posix_fallocate_fail_test

We can look into the code.
First.
At test/unit/tcti-libtpms.c:1097, expect_value(TPMLIB_Process, cmd, cmd);
And cmd is an array.
unsigned char cmd[] = {0x80, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x01
, 0x44, 0x00, 0x00};

At test/unit/tcti-libtpms.c:136, check_expected_ptr(cmd);

So the problem is actually at test/unit/tcti-libtpms.c:1097.
Because it tries to convert a pointer to integer.
The expect_value() of CMocka is expect_value(#func, #para, LargestIntegralType 
val)
So that cmd is converted to Integral Type.
I think we might want to use expect_memory() instead?
expect_memory(#func, #para, void* mem, size_t size)
So that cmd is pointer rather than converted to int.

Yours,
Paul

Attachment: OpenPGP_0x44173FA13D058888.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to