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 002E8CFD364 for ; Tue, 25 Nov 2025 07:53:40 +0000 (UTC) Received: from lists.trustedfirmware.org (localhost [127.0.0.1]) by lists.trustedfirmware.org (Postfix) with ESMTP id 098FA4FFAC for ; Tue, 25 Nov 2025 07:53:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.trustedfirmware.org; s=2024; t=1764057220; bh=FMjd1bM6IFJ0dRfDCztxrErNl2amZ/WJX6262mWvEhw=; 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=jJmy+oU14FHdalg4HCVcYI0ptm0h2GtCXFBZNA35jq0tnsvuY0DHZb9HMHc6PqTk1 YryTcFej20j8XftDnN/YpKtDb7zmdNeu7O4HgFK9OM/2B87ZA/llLI0EMwzIHYqX2o xr9ncyvY7gj5+jKtEJL6YK87LnAFQnRwcH4iluAh6VoXlPR94TrNc5zhINmlE85BQo FIp9eerjqKUT12Zb7bGIl3QTkRnhAyVUd3pPQYNqa9b4JM3IPvsL36WH9vnAvHrg5/ 6LE/knTFSHk6GKzwayqf53L2W7ArVzO+ucoMYYI50sjC9nHPnjU/Nt/3Dr+honCXLc 3o0ULWuBy/jhQ== Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by lists.trustedfirmware.org (Postfix) with ESMTPS id EBBE74146F for ; Tue, 25 Nov 2025 07:53:28 +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=J14oxQuS; dkim-atps=neutral Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 7D52560185; Tue, 25 Nov 2025 07:53:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16FD4C4CEF1; Tue, 25 Nov 2025 07:53:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1764057208; bh=9k3eBLPSR2qFiU5/95Ac/5lhZ+hHNWpqK9iHx+CQFKU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=J14oxQuS/TNyQJiER/A9xWQ7FVjFkgErlimhZvEKqpHDpXlMxOb5/99uvz9CQ17Pa zT6o950b0+21BTDHh987iAwUuqShbKMhQOQsJEnAaUe4PKhv4fWWGRAnmTZsQSbwbE RO4KlF/o06r15z3ogKhOcFqxdRhhLdOTdeM5uM1XBMtveXavcUQiPBMUbhiqZ4iMzP YYYnS5qf1iqhSNIgtUCeALbP05A2hmCxDHy9qDRN6jqHpxXDyYDuPBYMFdZRiePvKE tPdsHtAJ1HANMRjPpaH8AdeFp3hc8iVioi8FBFvVCvjWvbQlaGdwIEW5wnvFzhaJq+ lStVRkztslSNA== Date: Tue, 25 Nov 2025 13:23:22 +0530 To: Jens Wiklander Subject: Re: [PATCH v2 1/1] tee: optee: expose OS revision via sysfs Message-ID: References: <20251121141230.489294-1-jj251510319013@gmail.com> <20251122145924.381725-1-jj251510319013@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: X-Spamd-Bar: ----- X-Rspamd-Server: lists.trustedfirmware.org X-Rspamd-Action: no action X-Rspamd-Queue-Id: EBBE74146F X-Spamd-Result: default: False [-5.50 / 15.00]; BAYES_HAM(-3.00)[100.00%]; DWL_DNSWL_MED(-2.00)[kernel.org:dkim]; MID_RHS_NOT_FQDN(0.50)[]; DMARC_POLICY_ALLOW(-0.50)[kernel.org,quarantine]; R_DKIM_ALLOW(-0.20)[kernel.org:s=k20201202]; R_SPF_ALLOW(-0.20)[+ip4:172.105.4.254]; MIME_GOOD(-0.10)[text/plain]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[]; ASN(0.00)[asn:63949, ipnet:172.105.0.0/19, country:SG]; MISSING_XM_UA(0.00)[]; MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_SEVEN(0.00)[10]; TO_MATCH_ENVRCPT_SOME(0.00)[]; FREEMAIL_CC(0.00)[gmail.com,vger.kernel.org,lists.trustedfirmware.org,oss.qualcomm.com,canonical.com,amd.com,arm.com]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; DKIM_TRACE(0.00)[kernel.org:+] Message-ID-Hash: 4ETYRCBUY5ANJTMQ6WLG53KU4LXYQZLL X-Message-ID-Hash: 4ETYRCBUY5ANJTMQ6WLG53KU4LXYQZLL 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: Wei Ming Chen , linux-kernel@vger.kernel.org, op-tee@lists.trustedfirmware.org, harshal.dev@oss.qualcomm.com, Aristo Chen , mario.limonciello@amd.com, Rijo Thomas , Amirreza Zarrabi 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 T24gTW9uLCBOb3YgMjQsIDIwMjUgYXQgMDg6MTU6MDRBTSArMDEwMCwgSmVucyBXaWtsYW5kZXIg d3JvdGU6DQo+IEhpLA0KPiANCj4gT24gU2F0LCBOb3YgMjIsIDIwMjUgYXQgNDowMOKAr1BNIFdl aSBNaW5nIENoZW4gPGpqMjUxNTEwMzE5MDEzQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBG cm9tOiBBcmlzdG8gQ2hlbiA8YXJpc3RvLmNoZW5AY2Fub25pY2FsLmNvbT4NCj4gPg0KPiA+IFRv ZGF5IHRoZSBvbmx5IHdheSB0byByZWFkIHRoZSBPUC1URUUgT1MgdmVyc2lvbiBpcyBmcm9tIGRt ZXNnL2pvdXJuYWwNCj4gPiBsb2dzLCB3aGljaCBjYW4gYmUgbG9zdCBhcyBidWZmZXJzIHJvbGwg b3Zlci4gQ2FwdHVyZSB0aGUgT1MgcmV2aXNpb24NCj4gPiAobWFqb3IvbWlub3IvYnVpbGRfaWQp IGZyb20gc2VjdXJlIHdvcmxkIGZvciBib3RoIFNNQyBhbmQgRkYtQSBBQklzLCBzdG9yZQ0KPiA+ IGl0IGluIHRoZSBPUC1URUUgZHJpdmVyLCBhbmQgZXhwb3NlIGEgc3RhYmxlIHVzZXJzcGFjZSBy ZWFkb3V0IHZpYQ0KPiA+IC9zeXMvY2xhc3MvdGVlL3RlZSovb3B0ZWVfb3NfcmV2aXNpb24uDQo+ ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBBcmlzdG8gQ2hlbiA8YXJpc3RvLmNoZW5AY2Fub25pY2Fs LmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy90ZWUvb3B0ZWUvY29yZS5jICAgICAgICAgIHwg MTkgKysrKysrKysrKysrKysrKysrKw0KPiA+ICBkcml2ZXJzL3RlZS9vcHRlZS9mZmFfYWJpLmMg ICAgICAgfCAxMyArKysrKysrKysrKy0tDQo+ID4gIGRyaXZlcnMvdGVlL29wdGVlL29wdGVlX3By aXZhdGUuaCB8IDE3ICsrKysrKysrKysrKysrKysrDQo+ID4gIGRyaXZlcnMvdGVlL29wdGVlL3Nt Y19hYmkuYyAgICAgICB8IDEzICsrKysrKysrKysrLS0NCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA1 OCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiANCj4gVGhpcyBhcHBlYXJzIHRvIGJl IGEgZmVhdHVyZSB0aGF0IGNvdWxkIGJlIHVzZWZ1bCBmb3IgYWxsIFRFRXMuDQoNClRydWUsIGl0 IGlzIHNvbWV0aGluZyB0aGF0IFRFRSBjb3JlIHNob3VsZCBzdXBwb3J0LiBBbHRob3VnaCBJIHdv dWxkDQpoYXZlIHByZWZlcnJlZCB0byBleHRlbmQgVEVFX0lPQ19WRVJTSU9OIHNpbmNlIHRoYXQn cyB0aGUgY29tbW9uIHdheSB0aGUNCnVzZXItc3BhY2UgbGlicmFyeSBnZXQncyBURUUgaW1wbGVt ZW50YXRpb24gc3BlY2lmaWMgaW5mb3JtYXRpb24uIEJ1dA0Kc2luY2UgaXQgYmVpbmcgYWxyZWFk eSBhIHVzZXItc3BhY2UgQUJJIHdoaWNoIGRvZXNuJ3Qgb2ZmZXIgZXh0ZW5zaW9uLg0KTWF5YmUg d2UgY2FuIGNvbnNpZGVyIGFkZGluZyBURUVfSU9DX1JFVkVSU0lPTiBpbnN0ZWFkIG9mIHN5c2Zz Lg0KDQpCdXQgYmVmb3JlIGRvaW5nIHRoYXQgd2UgbmVlZCB0byBrbm93IHdobyBpcyB0aGUgYWN0 dWFsIGNvbnN1bWVyIGhlcmUNCmZyb20gdXNlci1zcGFjZSBwZXJzcGVjdGl2ZT8gV2lsbCB0aGUg Y2xpZW50IGFwcGxpY2F0aW9ucyBhbHNvIGRlcGVuZCBvbg0KdGhlIFRFRSBpbXBsZW1lbnRhdGlv biByZXZpc2lvbj8NCg0KPiBJZiBzbywNCj4gbGV0J3MgdGFrZSBhIHN0ZXAgYmFjayB0byBzZWUg d2hhdCdzIG5lZWRlZC4gV2UgY2FuIGFkZCB0aGUgc3lzZnMNCj4gYXR0cmlidXRlIGZyb20gZHJp dmVycy90ZWUvdGVlX2NvcmUuYyBhbmQgYWRkIGFub3RoZXIgb3B0aW9uYWwNCj4gY2FsbGJhY2sg dG8gc3RydWN0IHRlZV9kcml2ZXJfb3BzLCBzdWNoIGFzIGdldF90ZWVfcmV2aXNpb24oKS4gRm9y DQo+IE9QLVRFRSwgdGhlIHNwZWNpZmljIGluZm9ybWF0aW9uIHdlIHdhbnQgdG8gc2hhcmUgaXMg Y2xlYXIsIGJ1dCBvdGhlcg0KPiBURUVzIG1pZ2h0IGhhdmUgYWRkaXRpb25hbCBvciBkaWZmZXJl bnQgZGF0YS4gV2hhdCBkbyBvdGhlcnMgdGhpbms/DQoNCkltcGxlbWVudGF0aW9uIHdpc2UsIHRo aXMgc291bmRzIGxpa2UgYSByZWFzb25hYmxlIGFwcHJvYWNoLg0KDQotU3VtaXQNCg0KPiANCj4g Q2hlZXJzLA0KPiBKZW5zDQo+IA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdGVlL29w dGVlL2NvcmUuYyBiL2RyaXZlcnMvdGVlL29wdGVlL2NvcmUuYw0KPiA+IGluZGV4IDViNjIxMzk3 MTRjZS4uNjY0MDljZjVkYTFjIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvdGVlL29wdGVlL2Nv cmUuYw0KPiA+ICsrKyBiL2RyaXZlcnMvdGVlL29wdGVlL2NvcmUuYw0KPiA+IEBAIC04Myw4ICs4 MywyNyBAQCBzdGF0aWMgc3NpemVfdCBycG1iX3JvdXRpbmdfbW9kZWxfc2hvdyhzdHJ1Y3QgZGV2 aWNlICpkZXYsDQo+ID4gIH0NCj4gPiAgc3RhdGljIERFVklDRV9BVFRSX1JPKHJwbWJfcm91dGlu Z19tb2RlbCk7DQo+ID4NCj4gPiArc3RhdGljIHNzaXplX3Qgb3B0ZWVfb3NfcmV2aXNpb25fc2hv dyhzdHJ1Y3QgZGV2aWNlICpkZXYsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQ0KPiA+ICt7 DQo+ID4gKyAgICAgICBzdHJ1Y3Qgb3B0ZWUgKm9wdGVlID0gZGV2X2dldF9kcnZkYXRhKGRldik7 DQo+ID4gKyAgICAgICBzdHJ1Y3Qgb3B0ZWVfdmVyc2lvbl9pbmZvICp2Ow0KPiA+ICsNCj4gPiAr ICAgICAgIGlmICghb3B0ZWUpDQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PREVWOw0K PiA+ICsNCj4gPiArICAgICAgIHYgPSAmb3B0ZWUtPnZlcnNpb25faW5mbzsNCj4gPiArICAgICAg IGlmICh2LT5vc19idWlsZF9pZCkNCj4gPiArICAgICAgICAgICAgICAgcmV0dXJuIHN5c2ZzX2Vt aXQoYnVmLCAiJXUuJXUgKCUwMTZsbHgpXG4iLCB2LT5vc19tYWpvciwNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdi0+b3NfbWlub3IsICh1bnNpZ25lZCBsb25nIGxvbmcp di0+b3NfYnVpbGRfaWQpOw0KPiA+ICsNCj4gPiArICAgICAgIHJldHVybiBzeXNmc19lbWl0KGJ1 ZiwgIiV1LiV1XG4iLCB2LT5vc19tYWpvciwgdi0+b3NfbWlub3IpOw0KPiA+ICt9DQo+ID4gK3N0 YXRpYyBERVZJQ0VfQVRUUl9STyhvcHRlZV9vc19yZXZpc2lvbik7DQo+ID4gKw0KPiA+ICBzdGF0 aWMgc3RydWN0IGF0dHJpYnV0ZSAqb3B0ZWVfZGV2X2F0dHJzW10gPSB7DQo+ID4gICAgICAgICAm ZGV2X2F0dHJfcnBtYl9yb3V0aW5nX21vZGVsLmF0dHIsDQo+ID4gKyAgICAgICAmZGV2X2F0dHJf b3B0ZWVfb3NfcmV2aXNpb24uYXR0ciwNCj4gPiAgICAgICAgIE5VTEwNCj4gPiAgfTsNCj4gPg0K PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3RlZS9vcHRlZS9mZmFfYWJpLmMgYi9kcml2ZXJzL3Rl ZS9vcHRlZS9mZmFfYWJpLmMNCj4gPiBpbmRleCBiZjgzOTA3ODllY2YuLjNkNGYzNTU5OWRkMSAx MDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL3RlZS9vcHRlZS9mZmFfYWJpLmMNCj4gPiArKysgYi9k cml2ZXJzL3RlZS9vcHRlZS9mZmFfYWJpLmMNCj4gPiBAQCAtNzc2LDcgKzc3Niw4IEBAIHN0YXRp YyBpbnQgb3B0ZWVfZmZhX3JlY2xhaW1fcHJvdG1lbShzdHJ1Y3Qgb3B0ZWUgKm9wdGVlLA0KPiA+ ICAgKi8NCj4gPg0KPiA+ICBzdGF0aWMgYm9vbCBvcHRlZV9mZmFfYXBpX2lzX2NvbXBhdGlibGUo c3RydWN0IGZmYV9kZXZpY2UgKmZmYV9kZXYsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZmFfb3BzICpvcHMpDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZmFfb3BzICpvcHMs DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvcHRl ZV92ZXJzaW9uX2luZm8gKnZlcnNpb25faW5mbykNCj4gPiAgew0KPiA+ICAgICAgICAgY29uc3Qg c3RydWN0IGZmYV9tc2dfb3BzICptc2dfb3BzID0gb3BzLT5tc2dfb3BzOw0KPiA+ICAgICAgICAg c3RydWN0IGZmYV9zZW5kX2RpcmVjdF9kYXRhIGRhdGEgPSB7DQo+ID4gQEAgLTgwNiw2ICs4MDcs MTIgQEAgc3RhdGljIGJvb2wgb3B0ZWVfZmZhX2FwaV9pc19jb21wYXRpYmxlKHN0cnVjdCBmZmFf ZGV2aWNlICpmZmFfZGV2LA0KPiA+ICAgICAgICAgICAgICAgICBwcl9lcnIoIlVuZXhwZWN0ZWQg ZXJyb3IgJWRcbiIsIHJjKTsNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KPiA+ ICAgICAgICAgfQ0KPiA+ICsgICAgICAgaWYgKHZlcnNpb25faW5mbykgew0KPiA+ICsgICAgICAg ICAgICAgICB2ZXJzaW9uX2luZm8tPm9zX21ham9yID0gZGF0YS5kYXRhMDsNCj4gPiArICAgICAg ICAgICAgICAgdmVyc2lvbl9pbmZvLT5vc19taW5vciA9IGRhdGEuZGF0YTE7DQo+ID4gKyAgICAg ICAgICAgICAgIHZlcnNpb25faW5mby0+b3NfYnVpbGRfaWQgPSBkYXRhLmRhdGEyOw0KPiA+ICsg ICAgICAgfQ0KPiA+ICsNCj4gPiAgICAgICAgIGlmIChkYXRhLmRhdGEyKQ0KPiA+ICAgICAgICAg ICAgICAgICBwcl9pbmZvKCJyZXZpc2lvbiAlbHUuJWx1ICglMDhseCkiLA0KPiA+ICAgICAgICAg ICAgICAgICAgICAgICAgIGRhdGEuZGF0YTAsIGRhdGEuZGF0YTEsIGRhdGEuZGF0YTIpOw0KPiA+ IEBAIC0xMDM0LDYgKzEwNDEsNyBAQCBzdGF0aWMgaW50IG9wdGVlX2ZmYV9wcm9iZShzdHJ1Y3Qg ZmZhX2RldmljZSAqZmZhX2RldikNCj4gPiAgew0KPiA+ICAgICAgICAgY29uc3Qgc3RydWN0IGZm YV9ub3RpZmllcl9vcHMgKm5vdGlmX29wczsNCj4gPiAgICAgICAgIGNvbnN0IHN0cnVjdCBmZmFf b3BzICpmZmFfb3BzOw0KPiA+ICsgICAgICAgc3RydWN0IG9wdGVlX3ZlcnNpb25faW5mbyB2ZXJz aW9uX2luZm8gPSB7IH07DQo+ID4gICAgICAgICB1bnNpZ25lZCBpbnQgbWF4X25vdGlmX3ZhbHVl Ow0KPiA+ICAgICAgICAgdW5zaWduZWQgaW50IHJwY19wYXJhbV9jb3VudDsNCj4gPiAgICAgICAg IHN0cnVjdCB0ZWVfc2htX3Bvb2wgKnBvb2w7DQo+ID4gQEAgLTEwNDcsNyArMTA1NSw3IEBAIHN0 YXRpYyBpbnQgb3B0ZWVfZmZhX3Byb2JlKHN0cnVjdCBmZmFfZGV2aWNlICpmZmFfZGV2KQ0KPiA+ ICAgICAgICAgZmZhX29wcyA9IGZmYV9kZXYtPm9wczsNCj4gPiAgICAgICAgIG5vdGlmX29wcyA9 IGZmYV9vcHMtPm5vdGlmaWVyX29wczsNCj4gPg0KPiA+IC0gICAgICAgaWYgKCFvcHRlZV9mZmFf YXBpX2lzX2NvbXBhdGlibGUoZmZhX2RldiwgZmZhX29wcykpDQo+ID4gKyAgICAgICBpZiAoIW9w dGVlX2ZmYV9hcGlfaXNfY29tcGF0aWJsZShmZmFfZGV2LCBmZmFfb3BzLCAmdmVyc2lvbl9pbmZv KSkNCj4gPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4NCj4gPiAgICAgICAg IGlmICghb3B0ZWVfZmZhX2V4Y2hhbmdlX2NhcHMoZmZhX2RldiwgZmZhX29wcywgJnNlY19jYXBz LA0KPiA+IEBAIC0xMDU5LDYgKzEwNjcsNyBAQCBzdGF0aWMgaW50IG9wdGVlX2ZmYV9wcm9iZShz dHJ1Y3QgZmZhX2RldmljZSAqZmZhX2RldikNCj4gPiAgICAgICAgIG9wdGVlID0ga3phbGxvYyhz aXplb2YoKm9wdGVlKSwgR0ZQX0tFUk5FTCk7DQo+ID4gICAgICAgICBpZiAoIW9wdGVlKQ0KPiA+ ICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsNCj4gPiArICAgICAgIG9wdGVlLT52ZXJz aW9uX2luZm8gPSB2ZXJzaW9uX2luZm87DQo+ID4NCj4gPiAgICAgICAgIHBvb2wgPSBvcHRlZV9m ZmFfc2htX3Bvb2xfYWxsb2NfcGFnZXMoKTsNCj4gPiAgICAgICAgIGlmIChJU19FUlIocG9vbCkp IHsNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy90ZWUvb3B0ZWUvb3B0ZWVfcHJpdmF0ZS5oIGIv ZHJpdmVycy90ZWUvb3B0ZWUvb3B0ZWVfcHJpdmF0ZS5oDQo+ID4gaW5kZXggZGI5ZWE2NzNmYmNh Li4zZTdiY2Q0NDk3NmIgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy90ZWUvb3B0ZWUvb3B0ZWVf cHJpdmF0ZS5oDQo+ID4gKysrIGIvZHJpdmVycy90ZWUvb3B0ZWUvb3B0ZWVfcHJpdmF0ZS5oDQo+ ID4gQEAgLTE5LDYgKzE5LDIyIEBADQo+ID4NCj4gPiAgI2RlZmluZSBPUFRFRV9NQVhfQVJHX1NJ WkUgICAgIDEwMjQNCj4gPg0KPiA+ICsvKioNCj4gPiArICogc3RydWN0IG9wdGVlX3ZlcnNpb25f aW5mbyAtIE9QLVRFRSBPUyByZXZpc2lvbiByZXBvcnRlZCBieSBzZWN1cmUgd29ybGQNCj4gPiAr ICogQG9zX21ham9yOiAgICAgICAgICBPUC1URUUgT1MgbWFqb3IgdmVyc2lvbg0KPiA+ICsgKiBA b3NfbWlub3I6ICAgICAgICAgIE9QLVRFRSBPUyBtaW5vciB2ZXJzaW9uDQo+ID4gKyAqIEBvc19i dWlsZF9pZDogICAgICAgT1AtVEVFIE9TIGJ1aWxkIGlkZW50aWZpZXIgKDAgaWYgdW5zcGVjaWZp ZWQpDQo+ID4gKyAqDQo+ID4gKyAqIFZhbHVlcyBjb21lIGZyb20gT1BURUVfU01DX0NBTExfR0VU X09TX1JFVklTSU9OIChTTUMgQUJJKSBvcg0KPiA+ICsgKiBPUFRFRV9GRkFfR0VUX09TX1ZFUlNJ T04gKEZGLUEgQUJJKTsgdGhpcyBpcyB0aGUgdHJ1c3RlZCBPUyByZXZpc2lvbiwgbm90IGFuDQo+ ID4gKyAqIEZGLUEgQUJJIHZlcnNpb24uDQo+ID4gKyAqLw0KPiA+ICtzdHJ1Y3Qgb3B0ZWVfdmVy c2lvbl9pbmZvIHsNCj4gPiArICAgICAgIHUzMiBvc19tYWpvcjsNCj4gPiArICAgICAgIHUzMiBv c19taW5vcjsNCj4gPiArICAgICAgIHU2NCBvc19idWlsZF9pZDsNCj4gPiArfTsNCj4gPiArDQo+ ID4gIC8qIFNvbWUgR2xvYmFsIFBsYXRmb3JtIGVycm9yIGNvZGVzIHVzZWQgaW4gdGhpcyBkcml2 ZXIgKi8NCj4gPiAgI2RlZmluZSBURUVDX1NVQ0NFU1MgICAgICAgICAgICAgICAgICAgMHgwMDAw MDAwMA0KPiA+ICAjZGVmaW5lIFRFRUNfRVJST1JfQkFEX1BBUkFNRVRFUlMgICAgICAweEZGRkYw MDA2DQo+ID4gQEAgLTI0OSw2ICsyNjUsNyBAQCBzdHJ1Y3Qgb3B0ZWUgew0KPiA+ICAgICAgICAg Ym9vbCBpbl9rZXJuZWxfcnBtYl9yb3V0aW5nOw0KPiA+ICAgICAgICAgc3RydWN0IHdvcmtfc3Ry dWN0IHNjYW5fYnVzX3dvcms7DQo+ID4gICAgICAgICBzdHJ1Y3Qgd29ya19zdHJ1Y3QgcnBtYl9z Y2FuX2J1c193b3JrOw0KPiA+ICsgICAgICAgc3RydWN0IG9wdGVlX3ZlcnNpb25faW5mbyB2ZXJz aW9uX2luZm87DQo+ID4gIH07DQo+ID4NCj4gPiAgc3RydWN0IG9wdGVlX3Nlc3Npb24gew0KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3RlZS9vcHRlZS9zbWNfYWJpLmMgYi9kcml2ZXJzL3RlZS9v cHRlZS9zbWNfYWJpLmMNCj4gPiBpbmRleCAwYmU2NjNmY2Q1MmIuLjA3YzcwMzYwOTMyMCAxMDA2 NDQNCj4gPiAtLS0gYS9kcml2ZXJzL3RlZS9vcHRlZS9zbWNfYWJpLmMNCj4gPiArKysgYi9kcml2 ZXJzL3RlZS9vcHRlZS9zbWNfYWJpLmMNCj4gPiBAQCAtMTMyMyw3ICsxMzIzLDggQEAgc3RhdGlj IGJvb2wgb3B0ZWVfbXNnX2FwaV91aWRfaXNfb3B0ZWVfaW1hZ2VfbG9hZChvcHRlZV9pbnZva2Vf Zm4gKmludm9rZV9mbikNCj4gPiAgfQ0KPiA+ICAjZW5kaWYNCj4gPg0KPiA+IC1zdGF0aWMgdm9p ZCBvcHRlZV9tc2dfZ2V0X29zX3JldmlzaW9uKG9wdGVlX2ludm9rZV9mbiAqaW52b2tlX2ZuKQ0K PiA+ICtzdGF0aWMgdm9pZCBvcHRlZV9tc2dfZ2V0X29zX3JldmlzaW9uKG9wdGVlX2ludm9rZV9m biAqaW52b2tlX2ZuLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IG9wdGVlX3ZlcnNpb25faW5mbyAqdmVyc2lvbl9pbmZvKQ0KPiA+ICB7DQo+ID4gICAg ICAgICB1bmlvbiB7DQo+ID4gICAgICAgICAgICAgICAgIHN0cnVjdCBhcm1fc21jY2NfcmVzIHNt Y2NjOw0KPiA+IEBAIC0xMzM3LDYgKzEzMzgsMTIgQEAgc3RhdGljIHZvaWQgb3B0ZWVfbXNnX2dl dF9vc19yZXZpc2lvbihvcHRlZV9pbnZva2VfZm4gKmludm9rZV9mbikNCj4gPiAgICAgICAgIGlu dm9rZV9mbihPUFRFRV9TTUNfQ0FMTF9HRVRfT1NfUkVWSVNJT04sIDAsIDAsIDAsIDAsIDAsIDAs IDAsDQo+ID4gICAgICAgICAgICAgICAgICAgJnJlcy5zbWNjYyk7DQo+ID4NCj4gPiArICAgICAg IGlmICh2ZXJzaW9uX2luZm8pIHsNCj4gPiArICAgICAgICAgICAgICAgdmVyc2lvbl9pbmZvLT5v c19tYWpvciA9IHJlcy5yZXN1bHQubWFqb3I7DQo+ID4gKyAgICAgICAgICAgICAgIHZlcnNpb25f aW5mby0+b3NfbWlub3IgPSByZXMucmVzdWx0Lm1pbm9yOw0KPiA+ICsgICAgICAgICAgICAgICB2 ZXJzaW9uX2luZm8tPm9zX2J1aWxkX2lkID0gcmVzLnJlc3VsdC5idWlsZF9pZDsNCj4gPiArICAg ICAgIH0NCj4gPiArDQo+ID4gICAgICAgICBpZiAocmVzLnJlc3VsdC5idWlsZF9pZCkNCj4gPiAg ICAgICAgICAgICAgICAgcHJfaW5mbygicmV2aXNpb24gJWx1LiVsdSAoJTAqbHgpIiwgcmVzLnJl c3VsdC5tYWpvciwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICByZXMucmVzdWx0Lm1pbm9y LCAoaW50KXNpemVvZihyZXMucmVzdWx0LmJ1aWxkX2lkKSAqIDIsDQo+ID4gQEAgLTE3MjcsNiAr MTczNCw3IEBAIHN0YXRpYyBpbnQgb3B0ZWVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikNCj4gPiAgICAgICAgIHVuc2lnbmVkIGludCB0aHJlYWRfY291bnQ7DQo+ID4gICAgICAg ICBzdHJ1Y3QgdGVlX2RldmljZSAqdGVlZGV2Ow0KPiA+ICAgICAgICAgc3RydWN0IHRlZV9jb250 ZXh0ICpjdHg7DQo+ID4gKyAgICAgICBzdHJ1Y3Qgb3B0ZWVfdmVyc2lvbl9pbmZvIHZlcnNpb25f aW5mbyA9IHsgfTsNCj4gPiAgICAgICAgIHUzMiBtYXhfbm90aWZfdmFsdWU7DQo+ID4gICAgICAg ICB1MzIgYXJnX2NhY2hlX2ZsYWdzOw0KPiA+ICAgICAgICAgdTMyIHNlY19jYXBzOw0KPiA+IEBA IC0xNzQ1LDcgKzE3NTMsNyBAQCBzdGF0aWMgaW50IG9wdGVlX3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpDQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiA+ ICAgICAgICAgfQ0KPiA+DQo+ID4gLSAgICAgICBvcHRlZV9tc2dfZ2V0X29zX3JldmlzaW9uKGlu dm9rZV9mbik7DQo+ID4gKyAgICAgICBvcHRlZV9tc2dfZ2V0X29zX3JldmlzaW9uKGludm9rZV9m biwgJnZlcnNpb25faW5mbyk7DQo+ID4NCj4gPiAgICAgICAgIGlmICghb3B0ZWVfbXNnX2FwaV9y ZXZpc2lvbl9pc19jb21wYXRpYmxlKGludm9rZV9mbikpIHsNCj4gPiAgICAgICAgICAgICAgICAg cHJfd2FybigiYXBpIHJldmlzaW9uIG1pc21hdGNoXG4iKTsNCj4gPiBAQCAtMTgxNCw2ICsxODIy LDcgQEAgc3RhdGljIGludCBvcHRlZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQ0KPiA+ICAgICAgICAgICAgICAgICByYyA9IC1FTk9NRU07DQo+ID4gICAgICAgICAgICAgICAg IGdvdG8gZXJyX2ZyZWVfc2htX3Bvb2w7DQo+ID4gICAgICAgICB9DQo+ID4gKyAgICAgICBvcHRl ZS0+dmVyc2lvbl9pbmZvID0gdmVyc2lvbl9pbmZvOw0KPiA+DQo+ID4gICAgICAgICBvcHRlZS0+ b3BzID0gJm9wdGVlX29wczsNCj4gPiAgICAgICAgIG9wdGVlLT5zbWMuaW52b2tlX2ZuID0gaW52 b2tlX2ZuOw0KPiA+IC0tDQo+ID4gMi40My4wDQo+ID4NCg== 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 9D9CA2D9ED1 for ; Tue, 25 Nov 2025 07:53: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=1764057208; cv=none; b=EiLRFunXrZmzL6bsmKcVMfNHrpReZCA9pa81xPe74Y8PrtsGAZorpld2q4xzTKQLXensvoq0vt0a232VkfHJFfJxNkYP+GD3+EH70o1Uj8MsFrmu2JXCyktvckuCSELvy2Yu6O2deUdxvmC1ZU+I+G+olmJ5hCatdoWMVGMb5YM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764057208; c=relaxed/simple; bh=9k3eBLPSR2qFiU5/95Ac/5lhZ+hHNWpqK9iHx+CQFKU=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=kymoMqVEEJ2DK5y6QXeO89o/0aE0zPZlqWa4W/wu/RcNRdvXVWr4h3nuQ2/KXmruvISLs9tSMWxIBU879OD1v1Ut9WfIBmaTvz8mg/jejRoG2jsR7aW46UKZVBTk6qEEkY4QvOThebGuQU27ybzAA23aIqN4e97B0Q7z97NClj8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=J14oxQuS; 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="J14oxQuS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 16FD4C4CEF1; Tue, 25 Nov 2025 07:53:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1764057208; bh=9k3eBLPSR2qFiU5/95Ac/5lhZ+hHNWpqK9iHx+CQFKU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=J14oxQuS/TNyQJiER/A9xWQ7FVjFkgErlimhZvEKqpHDpXlMxOb5/99uvz9CQ17Pa zT6o950b0+21BTDHh987iAwUuqShbKMhQOQsJEnAaUe4PKhv4fWWGRAnmTZsQSbwbE RO4KlF/o06r15z3ogKhOcFqxdRhhLdOTdeM5uM1XBMtveXavcUQiPBMUbhiqZ4iMzP YYYnS5qf1iqhSNIgtUCeALbP05A2hmCxDHy9qDRN6jqHpxXDyYDuPBYMFdZRiePvKE tPdsHtAJ1HANMRjPpaH8AdeFp3hc8iVioi8FBFvVCvjWvbQlaGdwIEW5wnvFzhaJq+ lStVRkztslSNA== Date: Tue, 25 Nov 2025 13:23:22 +0530 From: Sumit Garg To: Jens Wiklander Cc: Wei Ming Chen , linux-kernel@vger.kernel.org, op-tee@lists.trustedfirmware.org, harshal.dev@oss.qualcomm.com, Aristo Chen , mario.limonciello@amd.com, Balint Dobszay , Rijo Thomas , Amirreza Zarrabi Subject: Re: [PATCH v2 1/1] tee: optee: expose OS revision via sysfs Message-ID: References: <20251121141230.489294-1-jj251510319013@gmail.com> <20251122145924.381725-1-jj251510319013@gmail.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 Mon, Nov 24, 2025 at 08:15:04AM +0100, Jens Wiklander wrote: > Hi, > > On Sat, Nov 22, 2025 at 4:00 PM Wei Ming Chen wrote: > > > > From: Aristo Chen > > > > Today the only way to read the OP-TEE OS version is from dmesg/journal > > logs, which can be lost as buffers roll over. Capture the OS revision > > (major/minor/build_id) from secure world for both SMC and FF-A ABIs, store > > it in the OP-TEE driver, and expose a stable userspace readout via > > /sys/class/tee/tee*/optee_os_revision. > > > > Signed-off-by: Aristo Chen > > --- > > drivers/tee/optee/core.c | 19 +++++++++++++++++++ > > drivers/tee/optee/ffa_abi.c | 13 +++++++++++-- > > drivers/tee/optee/optee_private.h | 17 +++++++++++++++++ > > drivers/tee/optee/smc_abi.c | 13 +++++++++++-- > > 4 files changed, 58 insertions(+), 4 deletions(-) > > This appears to be a feature that could be useful for all TEEs. True, it is something that TEE core should support. Although I would have preferred to extend TEE_IOC_VERSION since that's the common way the user-space library get's TEE implementation specific information. But since it being already a user-space ABI which doesn't offer extension. Maybe we can consider adding TEE_IOC_REVERSION instead of sysfs. But before doing that we need to know who is the actual consumer here from user-space perspective? Will the client applications also depend on the TEE implementation revision? > If so, > let's take a step back to see what's needed. We can add the sysfs > attribute from drivers/tee/tee_core.c and add another optional > callback to struct tee_driver_ops, such as get_tee_revision(). For > OP-TEE, the specific information we want to share is clear, but other > TEEs might have additional or different data. What do others think? Implementation wise, this sounds like a reasonable approach. -Sumit > > Cheers, > Jens > > > > > diff --git a/drivers/tee/optee/core.c b/drivers/tee/optee/core.c > > index 5b62139714ce..66409cf5da1c 100644 > > --- a/drivers/tee/optee/core.c > > +++ b/drivers/tee/optee/core.c > > @@ -83,8 +83,27 @@ static ssize_t rpmb_routing_model_show(struct device *dev, > > } > > static DEVICE_ATTR_RO(rpmb_routing_model); > > > > +static ssize_t optee_os_revision_show(struct device *dev, > > + struct device_attribute *attr, char *buf) > > +{ > > + struct optee *optee = dev_get_drvdata(dev); > > + struct optee_version_info *v; > > + > > + if (!optee) > > + return -ENODEV; > > + > > + v = &optee->version_info; > > + if (v->os_build_id) > > + return sysfs_emit(buf, "%u.%u (%016llx)\n", v->os_major, > > + v->os_minor, (unsigned long long)v->os_build_id); > > + > > + return sysfs_emit(buf, "%u.%u\n", v->os_major, v->os_minor); > > +} > > +static DEVICE_ATTR_RO(optee_os_revision); > > + > > static struct attribute *optee_dev_attrs[] = { > > &dev_attr_rpmb_routing_model.attr, > > + &dev_attr_optee_os_revision.attr, > > NULL > > }; > > > > diff --git a/drivers/tee/optee/ffa_abi.c b/drivers/tee/optee/ffa_abi.c > > index bf8390789ecf..3d4f35599dd1 100644 > > --- a/drivers/tee/optee/ffa_abi.c > > +++ b/drivers/tee/optee/ffa_abi.c > > @@ -776,7 +776,8 @@ static int optee_ffa_reclaim_protmem(struct optee *optee, > > */ > > > > static bool optee_ffa_api_is_compatible(struct ffa_device *ffa_dev, > > - const struct ffa_ops *ops) > > + const struct ffa_ops *ops, > > + struct optee_version_info *version_info) > > { > > const struct ffa_msg_ops *msg_ops = ops->msg_ops; > > struct ffa_send_direct_data data = { > > @@ -806,6 +807,12 @@ static bool optee_ffa_api_is_compatible(struct ffa_device *ffa_dev, > > pr_err("Unexpected error %d\n", rc); > > return false; > > } > > + if (version_info) { > > + version_info->os_major = data.data0; > > + version_info->os_minor = data.data1; > > + version_info->os_build_id = data.data2; > > + } > > + > > if (data.data2) > > pr_info("revision %lu.%lu (%08lx)", > > data.data0, data.data1, data.data2); > > @@ -1034,6 +1041,7 @@ static int optee_ffa_probe(struct ffa_device *ffa_dev) > > { > > const struct ffa_notifier_ops *notif_ops; > > const struct ffa_ops *ffa_ops; > > + struct optee_version_info version_info = { }; > > unsigned int max_notif_value; > > unsigned int rpc_param_count; > > struct tee_shm_pool *pool; > > @@ -1047,7 +1055,7 @@ static int optee_ffa_probe(struct ffa_device *ffa_dev) > > ffa_ops = ffa_dev->ops; > > notif_ops = ffa_ops->notifier_ops; > > > > - if (!optee_ffa_api_is_compatible(ffa_dev, ffa_ops)) > > + if (!optee_ffa_api_is_compatible(ffa_dev, ffa_ops, &version_info)) > > return -EINVAL; > > > > if (!optee_ffa_exchange_caps(ffa_dev, ffa_ops, &sec_caps, > > @@ -1059,6 +1067,7 @@ static int optee_ffa_probe(struct ffa_device *ffa_dev) > > optee = kzalloc(sizeof(*optee), GFP_KERNEL); > > if (!optee) > > return -ENOMEM; > > + optee->version_info = version_info; > > > > pool = optee_ffa_shm_pool_alloc_pages(); > > if (IS_ERR(pool)) { > > diff --git a/drivers/tee/optee/optee_private.h b/drivers/tee/optee/optee_private.h > > index db9ea673fbca..3e7bcd44976b 100644 > > --- a/drivers/tee/optee/optee_private.h > > +++ b/drivers/tee/optee/optee_private.h > > @@ -19,6 +19,22 @@ > > > > #define OPTEE_MAX_ARG_SIZE 1024 > > > > +/** > > + * struct optee_version_info - OP-TEE OS revision reported by secure world > > + * @os_major: OP-TEE OS major version > > + * @os_minor: OP-TEE OS minor version > > + * @os_build_id: OP-TEE OS build identifier (0 if unspecified) > > + * > > + * Values come from OPTEE_SMC_CALL_GET_OS_REVISION (SMC ABI) or > > + * OPTEE_FFA_GET_OS_VERSION (FF-A ABI); this is the trusted OS revision, not an > > + * FF-A ABI version. > > + */ > > +struct optee_version_info { > > + u32 os_major; > > + u32 os_minor; > > + u64 os_build_id; > > +}; > > + > > /* Some Global Platform error codes used in this driver */ > > #define TEEC_SUCCESS 0x00000000 > > #define TEEC_ERROR_BAD_PARAMETERS 0xFFFF0006 > > @@ -249,6 +265,7 @@ struct optee { > > bool in_kernel_rpmb_routing; > > struct work_struct scan_bus_work; > > struct work_struct rpmb_scan_bus_work; > > + struct optee_version_info version_info; > > }; > > > > struct optee_session { > > diff --git a/drivers/tee/optee/smc_abi.c b/drivers/tee/optee/smc_abi.c > > index 0be663fcd52b..07c703609320 100644 > > --- a/drivers/tee/optee/smc_abi.c > > +++ b/drivers/tee/optee/smc_abi.c > > @@ -1323,7 +1323,8 @@ static bool optee_msg_api_uid_is_optee_image_load(optee_invoke_fn *invoke_fn) > > } > > #endif > > > > -static void optee_msg_get_os_revision(optee_invoke_fn *invoke_fn) > > +static void optee_msg_get_os_revision(optee_invoke_fn *invoke_fn, > > + struct optee_version_info *version_info) > > { > > union { > > struct arm_smccc_res smccc; > > @@ -1337,6 +1338,12 @@ static void optee_msg_get_os_revision(optee_invoke_fn *invoke_fn) > > invoke_fn(OPTEE_SMC_CALL_GET_OS_REVISION, 0, 0, 0, 0, 0, 0, 0, > > &res.smccc); > > > > + if (version_info) { > > + version_info->os_major = res.result.major; > > + version_info->os_minor = res.result.minor; > > + version_info->os_build_id = res.result.build_id; > > + } > > + > > if (res.result.build_id) > > pr_info("revision %lu.%lu (%0*lx)", res.result.major, > > res.result.minor, (int)sizeof(res.result.build_id) * 2, > > @@ -1727,6 +1734,7 @@ static int optee_probe(struct platform_device *pdev) > > unsigned int thread_count; > > struct tee_device *teedev; > > struct tee_context *ctx; > > + struct optee_version_info version_info = { }; > > u32 max_notif_value; > > u32 arg_cache_flags; > > u32 sec_caps; > > @@ -1745,7 +1753,7 @@ static int optee_probe(struct platform_device *pdev) > > return -EINVAL; > > } > > > > - optee_msg_get_os_revision(invoke_fn); > > + optee_msg_get_os_revision(invoke_fn, &version_info); > > > > if (!optee_msg_api_revision_is_compatible(invoke_fn)) { > > pr_warn("api revision mismatch\n"); > > @@ -1814,6 +1822,7 @@ static int optee_probe(struct platform_device *pdev) > > rc = -ENOMEM; > > goto err_free_shm_pool; > > } > > + optee->version_info = version_info; > > > > optee->ops = &optee_ops; > > optee->smc.invoke_fn = invoke_fn; > > -- > > 2.43.0 > >