Received: by 2002:a05:7412:3784:b0:e2:908c:2ebd with SMTP id jk4csp1984066rdb; Tue, 3 Oct 2023 07:07:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFBy/9EZJ8HcpeJrBvbNW68ie+cSBw+3D9XaTt4MsCwFwz0mL/KlvNR4F9HJ7Wd/2CNb2Nf X-Received: by 2002:a17:903:24e:b0:1bb:77a2:edda with SMTP id j14-20020a170903024e00b001bb77a2eddamr16213081plh.36.1696342052741; Tue, 03 Oct 2023 07:07:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696342052; cv=none; d=google.com; s=arc-20160816; b=iiyASdDCbweiDSNa6Aj+kSKFlBzQDcR8QTasiMo444LWjMUx2RT1TmGgQM1ryzSSHG lCIajqmyqgETXag0hF89GZ1wXOxhzcdLHWmfR3qCV7XwaidM9zTe+EVu2qjRu8LikRtb HOz2cmE98RGHi/x/48kPkgQRM6P73mvf+azFV6kiGF1PL2+RrvHpbweH+WpXVexM97DW /YUbp+BlEVPgELmmwjnT4BHGNqIxhWRJVbKsPGfLzQtSUdZZ31RFczoJW5OYBSr7jEK4 a9x1rZKkI+ntGC31VZfiszyHyPCRVIcw3FzAei16cydaNjGowyt7s/8E5LS7LMOlM6OL 11WA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=emMaldt7Wcp009BwjeoAIdRywLgtoN6eLJ90SwnYl2Q=; fh=tjDBPjeXFurlvh2Ht03OwLHWqtzp4Cm3dynjNsO3rlE=; b=Ysrm0LVx5tj6/qesCxlehUGCnZyh29+97WCDXpEwvSvD8Zukqtuhzc6R/xWYO/HMQD RbEC2PpgA9HqvcZjIcgg4XIxeIk87VGPvTCv45VkiMvXGupQ43VkP88hvz0BvRAI6tdE 9aBWHTuMfok4pqDLxi6JE+aQ+tcJP2n8W6DGntts60bCwGYF6MpI3UvdFVARqTscCq+i Lx6m/LAGhS1exp5r6VVBUjjkjrsW+YFzeqwIDdNvDAuTnpRRJ1Yy6+DLDz4FA9w0t076 wfK7AMeI9yJJOnNgZXWGZNQwy1Fi4hjNpk6ePVo0H3HkaMxP8KAxVcWd7uI8L11X3RFE 1Oew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=QuDIBnQt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id l18-20020a170902e2d200b001c60c5726absi1390817plc.39.2023.10.03.07.07.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Oct 2023 07:07:32 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=QuDIBnQt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=foss.st.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id D651A8191458; Tue, 3 Oct 2023 07:07:19 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238043AbjJCOHR (ORCPT + 99 others); Tue, 3 Oct 2023 10:07:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45726 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238079AbjJCOHL (ORCPT ); Tue, 3 Oct 2023 10:07:11 -0400 Received: from mx08-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E9EBBA9 for ; Tue, 3 Oct 2023 07:07:06 -0700 (PDT) Received: from pps.filterd (m0369457.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 3939vt3H021867; Tue, 3 Oct 2023 16:06:49 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding:content-type; s=selector1; bh=emMaldt 7Wcp009BwjeoAIdRywLgtoN6eLJ90SwnYl2Q=; b=QuDIBnQt6n6Vs9mSOlA5Vao SFsmrjRXjLz+HkyEmmqziw5o4UaxQ/46fH+WZE7BHaY3UYuQ4732Q9RSC207q+Yj YyfbB0S6XHcV/WwRsG50n05rd2aqKJkKVu6x0I713aQLgzu3H5ZeQinumfwJ3ki2 EQYiHhnO+OJMPqGPqKTf030mjdkUMGrQhRfrxvX36WW9IltdYoqCy9JVGV6yz5jR bQrOtWkjO06PY4WYv/YDdw7eyIr0lwV24QAeUybzoY4x5sLnCYp5ex0KYTwuYspn hYA7Qyv9GOUk1D4PHNuVhR2HlueHbWroQLNtnNs2FE3zR9FdqXpSA6Ghcrg+j+Q= = Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3texmj2bsb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 03 Oct 2023 16:06:49 +0200 (MEST) Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 2C1B6100057; Tue, 3 Oct 2023 16:06:47 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 12A4A2634F9; Tue, 3 Oct 2023 16:06:47 +0200 (CEST) Received: from localhost (10.201.20.20) by SHFDAG1NODE1.st.com (10.75.129.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Tue, 3 Oct 2023 16:06:46 +0200 From: Etienne Carriere To: CC: Jens Wiklander , Sumit Garg , , , Jerome Forissier , Etienne Carriere Subject: [PATCH v10 0/4] tee: introduce TEE system sssion Date: Tue, 3 Oct 2023 16:06:33 +0200 Message-ID: <20231003140637.31346-1-etienne.carriere@foss.st.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.201.20.20] X-ClientProxiedBy: SHFCAS1NODE2.st.com (10.75.129.73) To SHFDAG1NODE1.st.com (10.75.129.69) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.267,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-03_11,2023-10-02_01,2023-05-22_02 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Tue, 03 Oct 2023 07:07:20 -0700 (PDT) This series introduces TEE system sessions for TEE service sessions that require TEE to provision resources to prevent deadlock when clients call the TEE. This deadlock situation can happen when a TEE service is used by low level system resources as for example when Linux kernel uses SCMI service embedded in TEE for clock, reset, regulator, etc... controls. This case is detailled in patch 2/4: > This feature is needed to prevent a system deadlock when several TEE > client applications invoke TEE, consuming all TEE thread contexts > available in the secure world. The deadlock can happen in the OP-TEE > driver for example if all these TEE threads issue an RPC call from TEE > to Linux OS to access an eMMC RPMB partition (TEE secure storage) which > device clock or regulator controller is accessed through an OP-TEE SCMI > services. In that case, Linux SCMI driver must reach OP-TEE SCMI > service without waiting until one of the consumed TEE threads is freed. Etienne Carriere (4): tee: optee: system call property tee: system session tee: optee: support tracking system threads firmware: arm_scmi: optee: use optee system invocation drivers/firmware/arm_scmi/optee.c | 4 + drivers/tee/optee/call.c | 152 +++++++++++++++++++++++++++--- drivers/tee/optee/core.c | 5 +- drivers/tee/optee/ffa_abi.c | 13 +-- drivers/tee/optee/optee_private.h | 33 ++++++- drivers/tee/optee/smc_abi.c | 31 ++++-- drivers/tee/tee_core.c | 8 ++ include/linux/tee_drv.h | 16 ++++ 8 files changed, 227 insertions(+), 35 deletions(-) -- 2.25.1