On Wed, 5 Jun 2019 at 01:39, Sasha Levin sashal@kernel.org wrote:
On Tue, Jun 04, 2019 at 11:45:52AM +0530, Sumit Garg wrote:
On Thu, 30 May 2019 at 20:58, Sasha Levin sashal@kernel.org wrote:
/* Open context with TEE driver */
pvt_data->ctx = tee_client_open_context(NULL, ftpm_tee_match, NULL,
NULL);
if (IS_ERR(pvt_data->ctx)) {
dev_err(dev, "%s:tee_client_open_context failed\n", __func__);
Is this well tested? I see this misleading error multiple times as follows although TEE driver works pretty well.
Yes, this was all functionally tested.
Can you share your build instructions and testing approach?
Why is this error message misleading? I'd be happy to fix it.
IIUC, here you are trying to resolve dependency with OP-TEE driver using "-EPROBE_DEFER". So user shouldn't be prompted with error messages until OP-TEE driver comes up.
BTW, for me this OP-TEE driver dependency seems not to work, boot is simply stuck waiting for device. Probably the reason being this fTPM driver is a platform driver and OP-TEE NOT a platform driver.
Module built with "CONFIG_TCG_FTPM_TEE=y"
[ 1.436878] ftpm-tee tpm@0: ftpm_tee_probe:tee_client_open_context failed [ 1.509471] ftpm-tee tpm@0: ftpm_tee_probe:tee_client_open_context failed [ 1.517268] ftpm-tee tpm@0: ftpm_tee_probe:tee_client_open_context failed [ 1.525596] ftpm-tee tpm@0: ftpm_tee_probe:tee_client_open_context failed
Does the TEE have the fTPM implementation and such? Could you provide details about your testing environment (hardware, fTPM verions, etc)?
I just did a sanity check on my arm64 machine (Developerbox), just adding following DT node and enabled CONFIG_TCG_FTPM_TEE=y:
+ tpm@0 { + compatible = "microsoft,ftpm"; + };
Basically with no fTPM TA, I expected the driver to fail during "tee_client_open_session()" call with TA not found error and boot should continue. But it fails during "tee_client_open_context()" which opens a context with OP-TEE driver and has nothing to do with fTPM TA.
-Sumit
-- Thanks, Sasha