Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp2368848rdg; Mon, 16 Oct 2023 02:05:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEu/RUmhSyDexeNusp9O5GaYt4Q2SGpW+09iyt8rU/4Zqptjc+76KQ1qctpB4w0OaAID6yF X-Received: by 2002:a05:6870:898c:b0:1d7:1533:6869 with SMTP id f12-20020a056870898c00b001d715336869mr39770262oaq.31.1697447139964; Mon, 16 Oct 2023 02:05:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697447139; cv=none; d=google.com; s=arc-20160816; b=FfvMU4+uTEg4tDqnii7SQJ8mdGmZReqa7nPrqqxFfej1IdCdW/k5eEdYlCZwyUax9+ WMZA0R2GR6Cd3lPVS4LUsyF8gy1rXygJW+3/pqdlvAr1nNcWnlQfVfTk2CfcIQOYQ0YJ 8sUROoXFVtgbBR0P8OuiPpj4PdYoQ1emtEq3Mb6+RrGmOOnucMCwfsLxPe1rH9zIHWM3 gol3+nLWWi8X8vg1F/sYXMYtCPAPB2fIJuaXhp6Ym0g52muKXMa0jlsCYg/FBYkaxKdD m9eGuVLzlXwO55qSc8T59z8R3ntYtkuIJJQODwRUBkKq6FDM+anxxoWyBqib+6uEN14n z5Fw== 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=+KwoOYkzj5H40O26JJtXUk+e+fUkDGx8/XQV9xP6wMQ=; fh=tjDBPjeXFurlvh2Ht03OwLHWqtzp4Cm3dynjNsO3rlE=; b=VZe4HYglazHba7mYbWoplCjS4TXeKImVfDfTWr/qMOEMSUkXs6FT7T4yHNd+8OQtm9 TqEMOsQN1YpH2VkUg8oB2Nv8HLNIXC+8z2lgROHO7VOVvAtEHXbrWL3UWcSmCSN3nP81 sf+92wKuk3PW1Q9wDBY2SxxkliDysN3n/PkE/lywHvq0cBE5Ja0bez9hm0jtUqEwH3VH gtDYvSx55cPbSQLSuWkV0ZnT3BDWc0BC8Ke58yj9Ntnl70LHV/MhQmlfyOgvmIIcpBS3 bQVgNDz8W8ZwU/LgkMI+l4JfCqQSNbb5SIwaSMVWeSff/FCdlwb0dJMxgvzkFaI8S28u 6jUA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=Ld8tDPOJ; 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 k3-20020a654643000000b00577448019b5si10249363pgr.276.2023.10.16.02.05.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 02:05:39 -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=Ld8tDPOJ; 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 2555880B81EE; Mon, 16 Oct 2023 02:05:16 -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 S233281AbjJPJFE (ORCPT + 99 others); Mon, 16 Oct 2023 05:05:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54810 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233328AbjJPJEw (ORCPT ); Mon, 16 Oct 2023 05:04:52 -0400 Received: from mx07-00178001.pphosted.com (mx07-00178001.pphosted.com [185.132.182.106]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 80C75E1 for ; Mon, 16 Oct 2023 02:04:50 -0700 (PDT) Received: from pps.filterd (m0369458.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.22/8.17.1.22) with ESMTP id 39G7phQ3017535; Mon, 16 Oct 2023 11:04:33 +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=+KwoOYk zj5H40O26JJtXUk+e+fUkDGx8/XQV9xP6wMQ=; b=Ld8tDPOJUx/PdAwqC83sDwF hOEpOVz72illBdLRDATN6RcyFLmvxC1pX5z6MYJixiNn5eD7lTlkaaIRRMy6Tpze IcSod+O4XpZWbmG+8HkfuXo7NXhVzmRW+ZXvdKSlC/wZ5HDAF6mhrzQbSFDnlYSF jrQOKWjU8N1ez4faEUFRMQ4cgllDpWGd8ua/iNAcRUE319+g6yNtZ9ku7uXOCUna b4awdUmBPLwmPd0GJuxiDfCXgs1sJZj0TwwcI3ffsRxieuf/0OkyePWy6sdWGgmg Gmi+Ksm1/iSVpMSrVObVMBzL6RX3NOhB72m5XrX2cMXZDS3QtlMx1DtrwF9e0Jg= = 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 3tr4hym8x7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 16 Oct 2023 11:04:33 +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 0B6BE10005C; Mon, 16 Oct 2023 11:04:30 +0200 (CEST) Received: from Webmail-eu.st.com (shfdag1node1.st.com [10.75.129.69]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id ED43D218610; Mon, 16 Oct 2023 11:04:30 +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; Mon, 16 Oct 2023 11:04:30 +0200 From: Etienne Carriere To: CC: Jens Wiklander , Sumit Garg , , , Jerome Forissier , Etienne Carriere Subject: [PATCH v11 0/4] tee: introduce TEE system sssion Date: Mon, 16 Oct 2023 11:04:24 +0200 Message-ID: <20231016090428.1369071-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.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-16_02,2023-10-12_01,2023-05-22_02 X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_LOW,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]); Mon, 16 Oct 2023 02:05:16 -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 | 130 ++++++++++++++++++++++++++++-- drivers/tee/optee/core.c | 5 +- drivers/tee/optee/ffa_abi.c | 13 +-- drivers/tee/optee/optee_private.h | 29 ++++++- drivers/tee/optee/smc_abi.c | 31 ++++--- drivers/tee/tee_core.c | 8 ++ include/linux/tee_drv.h | 16 ++++ 8 files changed, 209 insertions(+), 27 deletions(-) --- Changes since v11: - Changes patch 3/4, other are unchanged. -- 2.25.1