Page MenuHomePhabricator

'psa-arch-tests' panic test result inconsistent between ARMCLANG and GNUARM
Open, Needs TriagePublic

Description

Build command:
make ../ -G"Unix Makefiles" -DTFM_PLATFORM=mps2/an521 -DTFM_TOOLCHAIN_FILE=../toolchain_ARMCLANG.cmake -DTEST_PSA_API=IPC -DTFM_PSA_API=ON -DTFM_ISOLATION_LEVEL=2 -DINCLUDE_PANIC_TESTS=1

Result on ARMCLANG:
IPC Suite Report **
TOTAL TESTS : 90
TOTAL PASSED : 82
TOTAL SIM ERROR : 0
TOTAL FAILED : 0
TOTAL SKIPPED : 8


Result on GNUARM:
IPC Suite Report **
TOTAL TESTS : 90
TOTAL PASSED : 77
TOTAL SIM ERROR : 0
TOTAL FAILED : 5
TOTAL SKIPPED : 8


First analysis:
The GNUARM result is more reasonable but still failed, because:

  • The test case itself is waiting for a signal to trigger the test; while strict version checking is performed by SPM instead of partition, so partition can never wait for the signal it is expecting, which causes the failure. Tracked by the issue in github: https://github.com/ARM-software/psa-arch-tests/issues/262
  • ARMCLANG merges RODATA with same content, which breaks the isolation between partitions. When a secure message printing is called, cross isolation boundary causes panic, accidentally passes the reset waiting logic. This need to be fixed by assigning a new flag to the build system.

The two fixes need validation, which can not be done before the release, create a task for tracking it here.

Event Timeline

KenLSoft created this task.Mar 29 2021, 6:00 AM
KenLSoft created this object with edit policy "Subscribers".
KenLSoft updated the task description. (Show Details)