From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.trustedfirmware.org (lists.trustedfirmware.org [18.214.241.189]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A5CF3C9EC76 for ; Mon, 12 Jan 2026 11:22:46 +0000 (UTC) Received: from lists.trustedfirmware.org (localhost [127.0.0.1]) by lists.trustedfirmware.org (Postfix) with ESMTP id E89664327A for ; Mon, 12 Jan 2026 11:22:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.trustedfirmware.org; s=2024; t=1768216966; bh=UB1NDRU7kQyhZmdaknDdQkqLRF9fzkOpC62lwXs+YNY=; h=Date:To:Subject:References:In-Reply-To:CC:List-Id:List-Archive: List-Help:List-Owner:List-Post:List-Subscribe:List-Unsubscribe: From:Reply-To:From; b=JK2iu3FZRs6EWbYgJ5NwupdFZFzemUSdXWLulCENv12QOAsvdrC7blW4LJp9JsAvr 4pQL+8CJTn8v78drHFl3Jy4fVPQjJgPnF1oFuGw0TAqO3sSMTcUzGwuTSR7rKkH3Tv +M9BkyVd5SsXSJ8s8rnQrVdN+qkLupj0/rrO3nGZbLIw7MT7L7OH/EbsCAXgHTUKRt Ga0dYdFgq+l4RSrZ0JRSQFVRXFSwg5oN2nya9K53+M24ipTfvCqspzSJ+aFI1j+kaO wryiQmwCmxdUa08lN4KZ/uRXLI4B62NDOaxl8JZV/EAikT1mVeGPrpKX5iarfwCSar bfqK3bbVAjgFQ== Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by lists.trustedfirmware.org (Postfix) with ESMTPS id 8BBD243252 for ; Mon, 12 Jan 2026 11:22:27 +0000 (UTC) Authentication-Results: lists.trustedfirmware.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=aZ0GmMFJ; dkim-atps=neutral Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id DA20C409A1; Mon, 12 Jan 2026 11:22:26 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8CC44C16AAE; Mon, 12 Jan 2026 11:22:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768216946; bh=ZNhUJoEkfFZHV8lEIh9qAH7JsrlKQ0N3Vtt30fWOdh8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=aZ0GmMFJxammjEZzzQZRjD0eX4IF5kT9fvCTEfaPCBo7lQYrnCQpiUrBd3aOyyAmO RfKzh4D1frgE4GgAeCE0O/qI4gEQSiuirqhyfbmPTDRBQBP2aycPIKPFjLUg0CfyUN 7MSL/vgYZeHOnVnKQQH3Pk/3qlx/j+9GXwYuZEEBmeIbsMAub/5VC8oZ1/c6IVjgHi Ynq0s3nWT5OWN0eLNvVIVh0ozWfJ/VdEtdOIE2AZ8wfAy8u/+8LslxwathysQD3OzO noJ4XFIQdADkPDy20AnisIn1uiZEBTXPIsoLpqB08xc42ZIrS+nP9Q3Peh8iCfJE+U Bv34aHXRTfIdQ== Date: Mon, 12 Jan 2026 16:52:20 +0530 To: Aristo Chen Subject: Re: [PATCH v6 2/2] tee: optee: store OS revision for TEE core Message-ID: References: <20260107152607.902735-1-aristo.chen@canonical.com> <20260108064517.13854-1-aristo.chen@canonical.com> <20260108064517.13854-2-aristo.chen@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: X-Rspamd-Action: no action X-Spamd-Result: default: False [-2.00 / 15.00]; BAYES_HAM(-3.00)[99.99%]; SUSPICIOUS_RECIPS(1.50)[]; DMARC_POLICY_ALLOW(-0.50)[kernel.org,quarantine]; MID_RHS_NOT_FQDN(0.50)[]; R_DKIM_ALLOW(-0.20)[kernel.org:s=k20201202]; R_SPF_ALLOW(-0.20)[+ip4:172.234.252.31]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; ASN(0.00)[asn:63949, ipnet:172.234.224.0/19, country:SG]; MISSING_XM_UA(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; DWL_DNSWL_BLOCKED(0.00)[kernel.org:dkim]; FREEMAIL_TO(0.00)[gmail.com]; RCPT_COUNT_SEVEN(0.00)[9]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; ALIAS_RESOLVED(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM(-0.00)[-1.000]; DKIM_TRACE(0.00)[kernel.org:+] X-Rspamd-Server: lists.trustedfirmware.org X-Rspamd-Queue-Id: 8BBD243252 X-Spamd-Bar: - Message-ID-Hash: RJDREG4TXURNBTGF7MQ3UNN4YUTXV6B2 X-Message-ID-Hash: RJDREG4TXURNBTGF7MQ3UNN4YUTXV6B2 X-MailFrom: sumit.garg@kernel.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-op-tee.lists.trustedfirmware.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: linux-kernel@vger.kernel.org, op-tee@lists.trustedfirmware.org, harshal.dev@oss.qualcomm.com, mario.limonciello@amd.com, Rijo-john.Thomas@amd.com, amirreza.zarrabi@oss.qualcomm.com, Aristo Chen X-Mailman-Version: 3.3.5 Precedence: list List-Id: Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Sumit Garg via OP-TEE Reply-To: Sumit Garg T24gRnJpLCBKYW4gMDksIDIwMjYgYXQgMTE6MDc6NDBQTSArMDgwMCwgQXJpc3RvIENoZW4gd3Jv dGU6DQo+IEhpIFN1bWl0DQo+IA0KPiBTdW1pdCBHYXJnIDxzdW1pdC5nYXJnQGtlcm5lbC5vcmc+ IOaWvCAyMDI25bm0MeaciDnml6XpgLHkupQg5LiL5Y2INzo1MOWvq+mBk++8mg0KPiA+DQo+ID4g T24gVGh1LCBKYW4gMDgsIDIwMjYgYXQgMDI6NDU6MDlQTSArMDgwMCwgQXJpc3RvIENoZW4gd3Jv dGU6DQo+ID4gPiBDb2xsZWN0IE9QLVRFRSBPUyByZXZpc2lvbiBmcm9tIHNlY3VyZSB3b3JsZCBm b3IgYm90aCBTTUMgYW5kIEZGLUENCj4gPiA+IEFCSXMsIHN0b3JlIGl0IGluIHRoZSBPUC1URUUg ZHJpdmVyLCBhbmQgZXhwb3NlIGl0IHRocm91Z2ggdGhlDQo+ID4gPiBnZW5lcmljIGdldF90ZWVf cmV2aXNpb24oKSBjYWxsYmFjay4NCj4gPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBcmlzdG8g Q2hlbiA8YXJpc3RvLmNoZW5AY2Fub25pY2FsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gIGRyaXZl cnMvdGVlL29wdGVlL2NvcmUuYyAgICAgICAgICB8IDIzICsrKysrKysrKysrKysNCj4gPiA+ICBk cml2ZXJzL3RlZS9vcHRlZS9mZmFfYWJpLmMgICAgICAgfCA1NyArKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tDQo+ID4gPiAgZHJpdmVycy90ZWUvb3B0ZWUvb3B0ZWVfcHJpdmF0ZS5oIHwg MTkgKysrKysrKysrKysNCj4gPiA+ICBkcml2ZXJzL3RlZS9vcHRlZS9zbWNfYWJpLmMgICAgICAg fCAxNSArKysrKystLQ0KPiA+ID4gIDQgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwg MTUgZGVsZXRpb25zKC0pDQo+ID4gPg0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGVlL29w dGVlL2NvcmUuYyBiL2RyaXZlcnMvdGVlL29wdGVlL2NvcmUuYw0KPiA+ID4gaW5kZXggNWI2MjEz OTcxNGNlLi4yZDgwN2JjNzQ4YmMgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL3RlZS9vcHRl ZS9jb3JlLmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvdGVlL29wdGVlL2NvcmUuYw0KPiA+ID4gQEAg LTYzLDYgKzYzLDI5IEBAIGludCBvcHRlZV9zZXRfZG1hX21hc2soc3RydWN0IG9wdGVlICpvcHRl ZSwgdV9pbnQgcGFfd2lkdGgpDQo+ID4gPiAgICAgICByZXR1cm4gZG1hX2NvZXJjZV9tYXNrX2Fu ZF9jb2hlcmVudCgmb3B0ZWUtPnRlZWRldi0+ZGV2LCBtYXNrKTsNCj4gPiA+ICB9DQo+ID4gPg0K PiA+ID4gK2ludCBvcHRlZV9nZXRfcmV2aXNpb24oc3RydWN0IHRlZV9kZXZpY2UgKnRlZWRldiwg Y2hhciAqYnVmLCBzaXplX3QgbGVuKQ0KPiA+ID4gK3sNCj4gPiA+ICsgICAgIHN0cnVjdCBvcHRl ZSAqb3B0ZWUgPSB0ZWVfZ2V0X2RydmRhdGEodGVlZGV2KTsNCj4gPiA+ICsgICAgIHU2NCBidWls ZF9pZDsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIGlmICghb3B0ZWUpDQo+ID4gPiArICAgICAgICAg ICAgIHJldHVybiAtRU5PREVWOw0KPiA+ID4gKyAgICAgaWYgKCFidWYgfHwgIWxlbikNCj4gPiA+ ICsgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gPiArDQo+ID4gPiArICAgICBidWls ZF9pZCA9IG9wdGVlLT5yZXZpc2lvbi5vc19idWlsZF9pZDsNCj4gPiA+ICsgICAgIGlmIChidWls ZF9pZCkNCj4gPiA+ICsgICAgICAgICAgICAgc2NucHJpbnRmKGJ1ZiwgbGVuLCAiJXUuJXUgKCUw MTZsbHgpIiwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIG9wdGVlLT5yZXZpc2lvbi5v c19tYWpvciwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIG9wdGVlLT5yZXZpc2lvbi5v c19taW5vciwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICh1bnNpZ25lZCBsb25nIGxv bmcpYnVpbGRfaWQpOw0KPiA+ID4gKyAgICAgZWxzZQ0KPiA+ID4gKyAgICAgICAgICAgICBzY25w cmludGYoYnVmLCBsZW4sICIldS4ldSIsIG9wdGVlLT5yZXZpc2lvbi5vc19tYWpvciwNCj4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgIG9wdGVlLT5yZXZpc2lvbi5vc19taW5vcik7DQo+ID4g PiArDQo+ID4gPiArICAgICByZXR1cm4gMDsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiAgc3Rh dGljIHZvaWQgb3B0ZWVfYnVzX3NjYW4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0KPiA+ID4g IHsNCj4gPiA+ICAgICAgIFdBUk5fT04ob3B0ZWVfZW51bWVyYXRlX2RldmljZXMoUFRBX0NNRF9H RVRfREVWSUNFU19TVVBQKSk7DQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy90ZWUvb3B0ZWUv ZmZhX2FiaS5jIGIvZHJpdmVycy90ZWUvb3B0ZWUvZmZhX2FiaS5jDQo+ID4gPiBpbmRleCBiZjgz OTA3ODllY2YuLjgyZGJlZDFjODdlNSAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvdGVlL29w dGVlL2ZmYV9hYmkuYw0KPiA+ID4gKysrIGIvZHJpdmVycy90ZWUvb3B0ZWUvZmZhX2FiaS5jDQo+ ID4gPiBAQCAtNzc1LDYgKzc3NSw0MiBAQCBzdGF0aWMgaW50IG9wdGVlX2ZmYV9yZWNsYWltX3By b3RtZW0oc3RydWN0IG9wdGVlICpvcHRlZSwNCj4gPiA+ICAgKiB3aXRoIGEgbWF0Y2hpbmcgY29u ZmlndXJhdGlvbi4NCj4gPiA+ICAgKi8NCj4gPiA+DQo+ID4gPiArc3RhdGljIGJvb2wgb3B0ZWVf ZmZhX2dldF9vc19yZXZpc2lvbihzdHJ1Y3QgZmZhX2RldmljZSAqZmZhX2RldiwNCj4gPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZmYV9vcHMg Km9wcywNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IG9wdGVlX3JldmlzaW9uICpyZXZpc2lvbiwNCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCBsb2cpDQo+ID4gPiArew0KPiA+ID4gKyAgICAgY29uc3Qgc3Ry dWN0IGZmYV9tc2dfb3BzICptc2dfb3BzID0gb3BzLT5tc2dfb3BzOw0KPiA+ID4gKyAgICAgc3Ry dWN0IGZmYV9zZW5kX2RpcmVjdF9kYXRhIGRhdGEgPSB7DQo+ID4gPiArICAgICAgICAgICAgIC5k YXRhMCA9IE9QVEVFX0ZGQV9HRVRfT1NfVkVSU0lPTiwNCj4gPiA+ICsgICAgIH07DQo+ID4gPiAr ICAgICBpbnQgcmM7DQo+ID4gPiArDQo+ID4gPiArICAgICBtc2dfb3BzLT5tb2RlXzMyYml0X3Nl dChmZmFfZGV2KTsNCj4gPiA+ICsNCj4gPiA+ICsgICAgIHJjID0gbXNnX29wcy0+c3luY19zZW5k X3JlY2VpdmUoZmZhX2RldiwgJmRhdGEpOw0KPiA+ID4gKyAgICAgaWYgKHJjKSB7DQo+ID4gPiAr ICAgICAgICAgICAgIHByX2VycigiVW5leHBlY3RlZCBlcnJvciAlZFxuIiwgcmMpOw0KPiA+ID4g KyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQo+ID4gPiArICAgICB9DQo+ID4gPiArDQo+ID4g PiArICAgICBpZiAocmV2aXNpb24pIHsNCj4gPiA+ICsgICAgICAgICAgICAgcmV2aXNpb24tPm9z X21ham9yID0gZGF0YS5kYXRhMDsNCj4gPiA+ICsgICAgICAgICAgICAgcmV2aXNpb24tPm9zX21p bm9yID0gZGF0YS5kYXRhMTsNCj4gPiA+ICsgICAgICAgICAgICAgcmV2aXNpb24tPm9zX2J1aWxk X2lkID0gZGF0YS5kYXRhMjsNCj4gPiA+ICsgICAgIH0NCj4gPiA+ICsNCj4gPiA+ICsgICAgIGlm IChsb2cpIHsNCj4gPiA+ICsgICAgICAgICAgICAgaWYgKGRhdGEuZGF0YTIpDQo+ID4gPiArICAg ICAgICAgICAgICAgICAgICAgcHJfaW5mbygicmV2aXNpb24gJWx1LiVsdSAoJTA4bHgpIiwNCj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZGF0YTAsIGRhdGEuZGF0YTEs IGRhdGEuZGF0YTIpOw0KPiA+ID4gKyAgICAgICAgICAgICBlbHNlDQo+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgcHJfaW5mbygicmV2aXNpb24gJWx1LiVsdSIsIGRhdGEuZGF0YTAsIGRhdGEu ZGF0YTEpOw0KPiA+ID4gKyAgICAgfQ0KPiA+ID4gKw0KPiA+ID4gKyAgICAgcmV0dXJuIHRydWU7 DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gIHN0YXRpYyBib29sIG9wdGVlX2ZmYV9hcGlfaXNf Y29tcGF0aWJsZShzdHJ1Y3QgZmZhX2RldmljZSAqZmZhX2RldiwNCj4gPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZmYV9vcHMgKm9wcykNCj4g PiA+ICB7DQo+ID4gPiBAQCAtNzk4LDE5ICs4MzQsOCBAQCBzdGF0aWMgYm9vbCBvcHRlZV9mZmFf YXBpX2lzX2NvbXBhdGlibGUoc3RydWN0IGZmYV9kZXZpY2UgKmZmYV9kZXYsDQo+ID4gPiAgICAg ICAgICAgICAgIHJldHVybiBmYWxzZTsNCj4gPiA+ICAgICAgIH0NCj4gPiA+DQo+ID4gPiAtICAg ICBkYXRhID0gKHN0cnVjdCBmZmFfc2VuZF9kaXJlY3RfZGF0YSl7DQo+ID4gPiAtICAgICAgICAg ICAgIC5kYXRhMCA9IE9QVEVFX0ZGQV9HRVRfT1NfVkVSU0lPTiwNCj4gPiA+IC0gICAgIH07DQo+ ID4gPiAtICAgICByYyA9IG1zZ19vcHMtPnN5bmNfc2VuZF9yZWNlaXZlKGZmYV9kZXYsICZkYXRh KTsNCj4gPiA+IC0gICAgIGlmIChyYykgew0KPiA+ID4gLSAgICAgICAgICAgICBwcl9lcnIoIlVu ZXhwZWN0ZWQgZXJyb3IgJWRcbiIsIHJjKTsNCj4gPiA+ICsgICAgIGlmICghb3B0ZWVfZmZhX2dl dF9vc19yZXZpc2lvbihmZmFfZGV2LCBvcHMsIE5VTEwsIHRydWUpKQ0KPiA+DQo+ID4gV2h5IGRv IHlvdSBuZWVkIHRvIGludm9rZSBvcHRlZV9mZmFfZ2V0X29zX3JldmlzaW9uKCkgaGVyZT8NCj4g DQo+IEnigJltIGNhbGxpbmcgb3B0ZWVfZmZhX2dldF9vc19yZXZpc2lvbigpIGhlcmUgdG8gYXZv aWQgZHVwbGljYXRpbmcgdGhlDQo+IEdFVF9PU19WRVJTSU9OIGNhbGwvcHJpbnRpbmcgbG9naWMu IFRoZSBvcmlnaW5hbCBjb2RlIGluDQo+IG9wdGVlX2ZmYV9hcGlfaXNfY29tcGF0aWJsZSgpIGFs cmVhZHkgZGlkIHRoZSBPUyB2ZXJzaW9uIHF1ZXJ5IGFuZA0KPiBwcmludGVkIGl0OyBhZnRlciBm YWN0b3JpbmcgaXQgb3V0LCB0aGUgaGVscGVyIGtlZXBzIHRoYXQgYmVoYXZpb3IgaW4gb25lDQo+ IHBsYWNlLiBJZiB3ZSBkb27igJl0IGNhbGwgaXQgdGhlcmUsIHdl4oCZZCBlaXRoZXIgbG9zZSB0 aGUgZXhpc3RpbmcgZG1lc2cgbG9nDQo+IG9yIHJl4oCRaW1wbGVtZW50IHRoZSBzYW1lIE9T4oCR dmVyc2lvbiBxdWVyeS9wcmludCBibG9jayBhZ2Fpbiwgd2hpY2ggSeKAmW0NCj4gdHJ5aW5nIHRv IGF2b2lkLg0KPiANCj4gSWYgeW914oCZZCByYXRoZXIgYXZvaWQgdGhlIGV4dHJhIGNhbGwgYXQg dGhpcyBzdGFnZSwgbWF5YmUgd2UgY2FuIGFsd2F5cw0KPiBwcmludCB0aGUgbG9nIGluIHRoZSBv cHRlZV9mZmFfZ2V0X29zX3JldmlzaW9uKCkgYW5kIHJlbW92ZSB0aGUgY2FsbA0KPiBmcm9tIG9w dGVlX2ZmYV9hcGlfaXNfY29tcGF0aWJsZSgpIGVudGlyZWx5Lg0KDQpZZWFoIG1vdmUgdGhlIHBy aW50IHRvIG9wdGVlX2ZmYV9nZXRfb3NfcmV2aXNpb24oKSBhbmQgZHJvcCB0aGUgZXh0cmENCmNh bGwuDQoNCi1TdW1pdA0K From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 22655356A10 for ; Mon, 12 Jan 2026 11:22:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768216949; cv=none; b=NM4UEj1Sn0B37oBzJiMLBZYu8fQG1aCzXFw6yRJ01EXHHDLrrIKneMtfD3z6y2h0YwbTV5YmahlNKlC5aftQBNgiidFjR3FW0Uc25y/LSbuEAQjf8/ya2Zor4Tm4QCvWQAP9rOqx0vqCdny9sJFY7kuMffYPuzU4a8JSBpUpxwg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768216949; c=relaxed/simple; bh=ZNhUJoEkfFZHV8lEIh9qAH7JsrlKQ0N3Vtt30fWOdh8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ZnC9itdsL40GXn4nQvROKYdeSenYcnhbpGlzemBpB8acs2lcf7o/ARiipZ6tyPHmwa0wUkrJ4drfnG+MOn76PySjBg5FA6bNpDYKUJcwoWYRU9HPJrY08daF4A5u4AkNF6Ppoz+f7fvjXr4y81Ze2fhWiT590yVE0gxpMMwdWn8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aZ0GmMFJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aZ0GmMFJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8CC44C16AAE; Mon, 12 Jan 2026 11:22:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1768216946; bh=ZNhUJoEkfFZHV8lEIh9qAH7JsrlKQ0N3Vtt30fWOdh8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=aZ0GmMFJxammjEZzzQZRjD0eX4IF5kT9fvCTEfaPCBo7lQYrnCQpiUrBd3aOyyAmO RfKzh4D1frgE4GgAeCE0O/qI4gEQSiuirqhyfbmPTDRBQBP2aycPIKPFjLUg0CfyUN 7MSL/vgYZeHOnVnKQQH3Pk/3qlx/j+9GXwYuZEEBmeIbsMAub/5VC8oZ1/c6IVjgHi Ynq0s3nWT5OWN0eLNvVIVh0ozWfJ/VdEtdOIE2AZ8wfAy8u/+8LslxwathysQD3OzO noJ4XFIQdADkPDy20AnisIn1uiZEBTXPIsoLpqB08xc42ZIrS+nP9Q3Peh8iCfJE+U Bv34aHXRTfIdQ== Date: Mon, 12 Jan 2026 16:52:20 +0530 From: Sumit Garg To: Aristo Chen Cc: linux-kernel@vger.kernel.org, jens.wiklander@linaro.org, op-tee@lists.trustedfirmware.org, harshal.dev@oss.qualcomm.com, mario.limonciello@amd.com, Rijo-john.Thomas@amd.com, amirreza.zarrabi@oss.qualcomm.com, Aristo Chen Subject: Re: [PATCH v6 2/2] tee: optee: store OS revision for TEE core Message-ID: References: <20260107152607.902735-1-aristo.chen@canonical.com> <20260108064517.13854-1-aristo.chen@canonical.com> <20260108064517.13854-2-aristo.chen@canonical.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Fri, Jan 09, 2026 at 11:07:40PM +0800, Aristo Chen wrote: > Hi Sumit > > Sumit Garg 於 2026年1月9日週五 下午7:50寫道: > > > > On Thu, Jan 08, 2026 at 02:45:09PM +0800, Aristo Chen wrote: > > > Collect OP-TEE OS revision from secure world for both SMC and FF-A > > > ABIs, store it in the OP-TEE driver, and expose it through the > > > generic get_tee_revision() callback. > > > > > > Signed-off-by: Aristo Chen > > > --- > > > drivers/tee/optee/core.c | 23 +++++++++++++ > > > drivers/tee/optee/ffa_abi.c | 57 ++++++++++++++++++++++++------- > > > drivers/tee/optee/optee_private.h | 19 +++++++++++ > > > drivers/tee/optee/smc_abi.c | 15 ++++++-- > > > 4 files changed, 99 insertions(+), 15 deletions(-) > > > > > > diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c > > > index 5b62139714ce..2d807bc748bc 100644 > > > --- a/drivers/tee/optee/core.c > > > +++ b/drivers/tee/optee/core.c > > > @@ -63,6 +63,29 @@ int optee_set_dma_mask(struct optee *optee, u_int pa_width) > > > return dma_coerce_mask_and_coherent(&optee->teedev->dev, mask); > > > } > > > > > > +int optee_get_revision(struct tee_device *teedev, char *buf, size_t len) > > > +{ > > > + struct optee *optee = tee_get_drvdata(teedev); > > > + u64 build_id; > > > + > > > + if (!optee) > > > + return -ENODEV; > > > + if (!buf || !len) > > > + return -EINVAL; > > > + > > > + build_id = optee->revision.os_build_id; > > > + if (build_id) > > > + scnprintf(buf, len, "%u.%u (%016llx)", > > > + optee->revision.os_major, > > > + optee->revision.os_minor, > > > + (unsigned long long)build_id); > > > + else > > > + scnprintf(buf, len, "%u.%u", optee->revision.os_major, > > > + optee->revision.os_minor); > > > + > > > + return 0; > > > +} > > > + > > > static void optee_bus_scan(struct work_struct *work) > > > { > > > WARN_ON(optee_enumerate_devices(PTA_CMD_GET_DEVICES_SUPP)); > > > diff --git a/drivers/tee/optee/ffa_abi.c b/drivers/tee/optee/ffa_abi.c > > > index bf8390789ecf..82dbed1c87e5 100644 > > > --- a/drivers/tee/optee/ffa_abi.c > > > +++ b/drivers/tee/optee/ffa_abi.c > > > @@ -775,6 +775,42 @@ static int optee_ffa_reclaim_protmem(struct optee *optee, > > > * with a matching configuration. > > > */ > > > > > > +static bool optee_ffa_get_os_revision(struct ffa_device *ffa_dev, > > > + const struct ffa_ops *ops, > > > + struct optee_revision *revision, > > > + bool log) > > > +{ > > > + const struct ffa_msg_ops *msg_ops = ops->msg_ops; > > > + struct ffa_send_direct_data data = { > > > + .data0 = OPTEE_FFA_GET_OS_VERSION, > > > + }; > > > + int rc; > > > + > > > + msg_ops->mode_32bit_set(ffa_dev); > > > + > > > + rc = msg_ops->sync_send_receive(ffa_dev, &data); > > > + if (rc) { > > > + pr_err("Unexpected error %d\n", rc); > > > + return false; > > > + } > > > + > > > + if (revision) { > > > + revision->os_major = data.data0; > > > + revision->os_minor = data.data1; > > > + revision->os_build_id = data.data2; > > > + } > > > + > > > + if (log) { > > > + if (data.data2) > > > + pr_info("revision %lu.%lu (%08lx)", > > > + data.data0, data.data1, data.data2); > > > + else > > > + pr_info("revision %lu.%lu", data.data0, data.data1); > > > + } > > > + > > > + return true; > > > +} > > > + > > > static bool optee_ffa_api_is_compatible(struct ffa_device *ffa_dev, > > > const struct ffa_ops *ops) > > > { > > > @@ -798,19 +834,8 @@ static bool optee_ffa_api_is_compatible(struct ffa_device *ffa_dev, > > > return false; > > > } > > > > > > - data = (struct ffa_send_direct_data){ > > > - .data0 = OPTEE_FFA_GET_OS_VERSION, > > > - }; > > > - rc = msg_ops->sync_send_receive(ffa_dev, &data); > > > - if (rc) { > > > - pr_err("Unexpected error %d\n", rc); > > > + if (!optee_ffa_get_os_revision(ffa_dev, ops, NULL, true)) > > > > Why do you need to invoke optee_ffa_get_os_revision() here? > > I’m calling optee_ffa_get_os_revision() here to avoid duplicating the > GET_OS_VERSION call/printing logic. The original code in > optee_ffa_api_is_compatible() already did the OS version query and > printed it; after factoring it out, the helper keeps that behavior in one > place. If we don’t call it there, we’d either lose the existing dmesg log > or re‑implement the same OS‑version query/print block again, which I’m > trying to avoid. > > If you’d rather avoid the extra call at this stage, maybe we can always > print the log in the optee_ffa_get_os_revision() and remove the call > from optee_ffa_api_is_compatible() entirely. Yeah move the print to optee_ffa_get_os_revision() and drop the extra call. -Sumit