Hi Andrej,
Does this affect also any of the reference platforms (i.e. AN521)? If the same behaviour appears on a reference platform, it will suggest that is likely not related to platform code.
It would be good if you can identify the EXACT commit that is giving you this problem, as we can't reproduce, so that we can have a look in detail to the source code.
Thanks, Antonio
-----Original Message----- From: TF-M tf-m-bounces@lists.trustedfirmware.org On Behalf Of Andrej Butok via TF-M Sent: 14 June 2019 16:12 To: Ken Liu (Arm Technology China) Ken.Liu@arm.com Cc: tf-m@lists.trustedfirmware.org Subject: Re: [TF-M] Is TFM_PSA_API broken?
Just FYI: Downgraded to commit SHA-1: 25e2b2dba5d7eb3ba0da14384a6c8240278f5c15 (Crypto: Implement additional PSA Crypto APIs). It becomes much better, but finally goes to the assert in some time (tfm_thrd_context_switch:170). Will continue next week. The terminal log: Sec Thread] Secure image initializing! [Sec Thread] hello! this is ipc client test sp! [Sec Thread] Connect success! [Sec Thread] Call success!
#### Execute test suites for the Secure area #### Running Test Suite PSA protected storage S interface tests (TFM_SST_TEST_2XXX)...
Executing 'TFM_SST_TEST_2001'
Description: 'Set interface' TEST PASSED!
Executing 'TFM_SST_TEST_2002'
Description: 'Set interface with create flags' TEST PASSED!
Executing 'TFM_SST_TEST_2003'
Description: 'Set interface with NULL data pointer' TEST PASSED!
Executing 'TFM_SST_TEST_2004'
Description: 'Set interface with invalid data length' TEST PASSED!
Executing 'TFM_SST_TEST_2005'
Description: 'Set interface with write once UID' TEST PASSED!
Executing 'TFM_SST_TEST_2006'
Description: 'Get interface with valid data' TEST PASSED!
Executing 'TFM_SST_TEST_2007'
Description: 'Get interface with zero data length' TEST PASSED!
Executing 'TFM_SST_TEST_2008'
Description: 'Get interface with invalid UIDs' TEST PASSED!
Executing 'TFM_SST_TEST_2009'
Description: 'Get interface with invalid data lengths and offsets' TEST PASSED!
Executing 'TFM_SST_TEST_2010'
Description: 'Get interface with NULL data pointer' TEST PASSED!
Executing 'TFM_SST_TEST_2011'
Description: 'Get info interface with write once UID' TEST PASSED!
Executing 'TFM_SST_TEST_2012'
Description: 'Get info interface with valid UID' TEST PASSED!
Executing 'TFM_SST_TEST_2013'
Description: 'Get info interface with invalid UIDs' TEST PASSED!
Executing 'TFM_SST_TEST_2014'
Description: 'Get info interface with NULL info pointer' TEST PASSED!
Executing 'TFM_SST_TEST_2015'
Description: 'Remove interface with valid UID' TEST PASSED!
Executing 'TFM_SST_TEST_2016'
Description: 'Remove interface with write once UID' TEST PASSED!
Executing 'TFM_SST_TEST_2017'
Description: 'Remove interface with invalid UID' TEST PASSED!
Executing 'TFM_SST_TEST_2018'
Description: 'Block compaction after remove' TEST PASSED!
Executing 'TFM_SST_TEST_2019'
Description: 'Multiple partial gets' TEST PASSED!
Executing 'TFM_SST_TEST_2020'
Description: 'Multiple sets to same UID from same thread' TEST PASSED!
Executing 'TFM_SST_TEST_2021'
Description: 'Get support interface' TEST PASSED! TESTSUITE PASSED! Running Test Suite SST reliability tests (TFM_SST_TEST_3XXX)...
Executing 'TFM_SST_TEST_3001'
Description: 'repetitive sets and gets in/from an asset'
Iteration 15 of 15
TEST PASSED!
Executing 'TFM_SST_TEST_3002'
Description: 'repetitive sets, gets and removes'
Iteration 15 of 15
TEST PASSED! TESTSUITE PASSED! Running Test Suite Crypto secure interface tests (TFM_CRYPTO_TEST_5XXX)...
Executing 'TFM_CRYPTO_TEST_5001'
Description: 'Secure Key management interface' Assert:tfm_thrd_context_switch:170
From: Andrej Butok Sent: Friday, June 14, 2019 4:14 PM To: Ken Liu (Arm Technology China) Ken.Liu@arm.com Cc: tf-m@lists.trustedfirmware.org Subject: RE: Is TFM_PSA_API broken?
Hi Ken,
Please check your modification in SST partition
No modifications from my side.
As it becomes wasting of time, a debugging is not consistent and looks like uninitialized variable, stack or something else. I have decided to find a TFM commit which caused this abnormal behavior.
So far, it occurs in a commit between: NOT WORKING: SHA-1: 122360ffb1e7278406183714249afefcb2184488 * Attest: Replace example asymmetric key-pair WORKING: SHA-1: 4743e6731b0fe8a00ceebfd74da098c7676ac6e0 * Crypto: Add IPC compatibility
Thanks, Andrej
From: Ken Liu (Arm Technology China) mailto:Ken.Liu@arm.com Sent: Friday, June 14, 2019 4:00 PM To: Andrej Butok mailto:andrey.butok@nxp.com Cc: mailto:tf-m@lists.trustedfirmware.org; nd mailto:nd@arm.com Subject: Re: Is TFM_PSA_API broken?
Hi Andrej,
As I said, that workaround only works for specified case. Debugging these failed cases with this patch applied will lead you into heavy core debugging.
We need to find out the root cause, why the assert is triggered?
There is no reason that all partitions go into block state, unless there are some improper modification in core or secure partitions.
Please check your modification in SST partition, try to print something in your SST thread, to see why the thread keeps in block state.
If a client calls psa_connect/psa_all, SPM would activate the partition into running state with function tfm_spm_send_event().
The correct call routine should be (psa_call has the similar routine): tfm_sst_test_2001->psa_connect->...->SVC_Handler->tfm_svcall_psa_connect->tfm_spm_send_event->....-> (your partition thread).
Please remove the workaround patch, and try to debug to see if the call routine is correct.
Thanks.
-Ken
________________________________________ From: Andrej Butok mailto:andrey.butok@nxp.com Sent: Friday, June 14, 2019 8:13 PM To: Ken Liu (Arm Technology China) Cc: mailto:tf-m@lists.trustedfirmware.org Subject: RE: Is TFM_PSA_API broken? Hi Ken,
Your patch/fix helped, so now there is no stuck in assert. But all regression tests are failed: #### Execute test suites for the Secure area #### Running Test Suite PSA protected storage S interface tests (TFM_SST_TEST_2XXX)...
Executing 'TFM_SST_TEST_2001'
Description: 'Set interface' Set should not fail with valid UID (Failed at ../../../../../../../middleware/tfm/test/suites/sst/secure/psa_ps_s_interface_testsuite.c:153) TEST FAILED!
Executing 'TFM_SST_TEST_2002'
Description: 'Set interface with create flags' Set should not fail with no flags (Failed at ../../../../../../../middleware/tfm/test/suites/sst/secure/psa_ps_s_interface_testsuite.c:199) TEST FAILED!
Executing 'TFM_SST_TEST_2003'
Description: 'Set interface with NULL data pointer' Set should succeed with NULL data pointer and zero length (Failed at ../../../../../../../middleware/tfm/test/suites/sst/secure/psa_ps_s_interface_testsuite.c:243) TEST FAILED!
Will try to investigate...
-----Original Message----- From: TF-M mailto:tf-m-bounces@lists.trustedfirmware.org On Behalf Of Ken Liu (Arm Technology China) via TF-M Sent: Friday, June 14, 2019 10:32 AM To: mailto:TF-M@lists.trustedfirmware.org Cc: nd mailto:nd@arm.com Subject: Re: [TF-M] Is TFM_PSA_API broken?
Hi Andrej,
tfm_thrd_context_switch() does not want to thread to be running is NULL. And actually it should never happen in existing implement unless IRQ is involved.
Here is a patch for fixing this, but I am not sure if you are under the same case we met: https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Freview.tru...
I am curious about your environment, at least one partition will be running in latest master branch.
Can you share me your changes? Are your using original TF-M and which configuration file you are using?
Thanks.
-Ken
-----Original Message----- From: TF-M mailto:tf-m-bounces@lists.trustedfirmware.org On Behalf Of Andrej Butok via TF-M Sent: Friday, June 14, 2019 4:15 PM To: Antonio De Angelis mailto:Antonio.DeAngelis@arm.com Cc: mailto:tf-m@lists.trustedfirmware.org Subject: Re: [TF-M] Is TFM_PSA_API broken?
Hi Antonio,
So, I have disabled Platform and Log services.
Also, TFM_NS_CLIENT_IDENTIFICATION have to be undefined for IPC. Is this correct?
After that it becomes compliable.
But when starting the regression tests, I am getting assert in tfm_thrd_conext_switch(). Terminal log:
[Sec Thread] Secure image initializing!
NS code is running...
#### Execute test suites for the Secure area ####
Running Test Suite PSA protected storage S interface tests (TFM_SST_TEST_2XXX)...
Executing 'TFM_SST_TEST_2001'
Description: 'Set interface'
Assert:tfm_thrd_context_switch:170
So I am stuck now, and no matter what to use the IPC or the Function API approach.
Probably, something serious happened during last two weeks (before it worked), may be in platform dependent code.
NOTE: I am using a different platform LPC55S69 and IDE approach (not cmake).
Any tips?
Thanks,
Andrej
-----Original Message----- From: TF-M mailto:tf-m-bounces@lists.trustedfirmware.org On Behalf Of Antonio De Angelis via TF-M Sent: Thursday, June 13, 2019 5:00 PM To: mailto:tf-m@lists.trustedfirmware.org Cc: nd mailto:nd@arm.com Subject: Re: [TF-M] Is TFM_PSA_API broken?
Hi Andrej,
"Should the Log and Platform services be disabled for IPC?"
Yes, platform service and Audit Log service do not support IPC. You can see from existing IPC - specific build configurations which flags need to be set to make sure these two services are not built when IPC builds are selected.
Thanks,
Antonio
-----Original Message-----
From: TF-M mailto:tf-m-bounces@lists.trustedfirmware.org%3cmailto:tf-m-%0b mailto:bounces@lists.trustedfirmware.org>> On Behalf Of Andrej Butok via TF-M
Sent: 13 June 2019 15:46
To: mailto:tf-m@lists.trustedfirmware.org%3cmailto:tf-m@lists.trustedfirmw are.org>
Subject: [TF-M] Is TFM_PSA_API broken?
Hello,
I use absolutely the latest TF-M (SHA-1: 81fb08cd66c1037a5e6c57e46ad5946bfc8a0d0e)
I am trying to run the regression-test application using IPC API (TFM_PSA_API is defined) The application is compliable with errors:
Error: L6218E: Undefined symbol tfm_spm_request_reset_vote (referred from platform_sp.o).
Error: L6218E: Undefined symbol tfm_core_get_caller_client_id (referred from audit_core.o).
Not enough information to list image symbols.
It is caused by the fact that the platform and audit log services are using the functions (printed in the log) which are not available/disabled when TFM_PSA_API is defined.
Is it known issue?
Any suggestions?
Should the Log and Platform services be disabled for IPC?
Thanks,
Andrej
--
TF-M mailing list
mailto:TF-M@lists.trustedfirmware.org%3cmailto:TF-M@lists.trustedfirmw are.org>
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist s.trust edfirmware.org%2Fmailman%2Flistinfo%2Ftf- m&data=02%7C01%7Candrey.butok%40nxp.com%7C4416c02536e54d420 bdc08d6f00fc1ff%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6369 60347799555976&sdata=1zhWkIyBjqiiTqtf0tYdtxRACLofQ%2B5Po6tC3cqW Fis%3D&reserved=0
--
TF-M mailing list
mailto:TF-M@lists.trustedfirmware.org%3cmailto:TF-M@lists.trustedfirmw are.org>
https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist s.trust edfirmware.org%2Fmailman%2Flistinfo%2Ftf- m&data=02%7C01%7Candrey.butok%40nxp.com%7C4416c02536e54d420 bdc08d6f00fc1ff%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C6369 60347799555976&sdata=1zhWkIyBjqiiTqtf0tYdtxRACLofQ%2B5Po6tC3cqW Fis%3D&reserved=0 -- TF-M mailing list mailto:TF-M@lists.trustedfirmware.org https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flist s.trustedfirmware.org%2Fmailman%2Flistinfo%2Ftf-m&data=02%7C01%7Ca ndrey.butok%40nxp.com%7C441c81dc90a44fb5418408d6f0a2b68a%7C686ea1d3bc2 b4c6fa92cd99c5c301635%7C0%7C0%7C636960978972859087&sdata=weHHf8wG3 nlnTsI1JEA5Ww0D9sXSf4oJKyLkImmaCi8%3D&reserved=0
-- TF-M mailing list mailto:TF-M@lists.trustedfirmware.org https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.trus... -- TF-M mailing list TF-M@lists.trustedfirmware.org https://lists.trustedfirmware.org/mailman/listinfo/tf-m
tf-m@lists.trustedfirmware.org