Received: by 2002:a05:6358:700f:b0:131:369:b2a3 with SMTP id 15csp650127rwo; Wed, 2 Aug 2023 01:43:27 -0700 (PDT) X-Google-Smtp-Source: APBJJlHmy77XYPAAd6Qr0lt49jqfqRzHzKrEDIcQp2iZWlPkk4WiNSyQJPUfJHIs07DtfY9lc37F X-Received: by 2002:a05:6a00:2352:b0:687:3d65:7792 with SMTP id j18-20020a056a00235200b006873d657792mr8644896pfj.20.1690965807576; Wed, 02 Aug 2023 01:43:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690965807; cv=none; d=google.com; s=arc-20160816; b=lOz/XP3ucmbA9wx8Dx5bxbgpRe1ZQjq0dpy1KR9sfp8o+Tf9BnzL83+i+Q/tBbSu11 BGzAXRpDNfgZeWGLnAS7PLoqb4bM1fxU6NXwXjNNmGD+rL7GFFqXu2S3xtPBfygdW5iq 6HZA33ZnM+2hbHI7zDMmT8eyy8NoXDRampqKDEYlr2fh++OshOHSwDRpuTfNRSqRLkXm zsFYEpp6mb7WeWElK2ku7leUTF7gZL4BuQmUl5dFKpe34ouqY0yCyUPrHQ/eNL/a6il3 HJ4SBJSKYv1pu5BZafk3K/T7DOW1LUgDlfkB85aauClqpRbiXE4Ta0jBQu7toxkghVkS iVgA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=l2sfaru8OmVAEwVJ+R5RxlQAJhktlVz8IstV6follvw=; fh=j5aO3Lx3q5KrK34v2kIi5ndpwRurOpRaObektSmTnr8=; b=KsVdFvjEGBw9j6dEBu9M63IPwkdEhggN8ltdPiBoXiZugYSsuv61+FXLWL6IrEKWk3 od65KZpKw5mATZoSoxkqsJY9tZ+oNurXBKO3qMqzf464Xqr6YwH4fidHZR4Uk6eaMOZ7 FC7XDkGFMY9LpndqCodU+B6weOnayvP6Gk6H7eUhRu58PNIlXBTsFkXj/yHDw58COVDT zftuisu07ONFNQ202D8yz+X7elSmxDIqZJGolIdQLIHbJnXoJp9y09RF0e1ZxNcFEhhM 2YnqBcj0D+y3k6k++qEyNz4cBj/NNssPWUPbQ/eizxwnp91AYzIAVnJ0RpHnxV5W8BWL avUg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t0vr7Gih; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l184-20020a6388c1000000b00563e70c270bsi166483pgd.781.2023.08.02.01.43.15; Wed, 02 Aug 2023 01:43:27 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=t0vr7Gih; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232678AbjHBHEv (ORCPT + 99 others); Wed, 2 Aug 2023 03:04:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53464 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232701AbjHBHEs (ORCPT ); Wed, 2 Aug 2023 03:04:48 -0400 Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E11831FF3 for ; Wed, 2 Aug 2023 00:04:46 -0700 (PDT) Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-4fe0e201f87so752507e87.0 for ; Wed, 02 Aug 2023 00:04:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1690959885; x=1691564685; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=l2sfaru8OmVAEwVJ+R5RxlQAJhktlVz8IstV6follvw=; b=t0vr7GihQGBrwc1YJ3g1AAGYXD1jGvcpgN6iJPKD5xMRd3D2qdP95+65hD6xjI47pn kIWOuYLdSGmHKai2A5knurHHQEORLXj75JtpwB1ZU7vS0VgUmxbknWAUZzsgFblUWzKS aT3HYRNov0I3Xr8f/zcWSnH16/BsAG/VDPYFRoR32RQ3fnySxvEHSNKU+QtkRn/zH/fX rPieoZuPJ/0ljTNhj5e+j/+RkSTyoU3yUcSDFPpsQZ/DeflKsTO+UNjJq1RcLE1by5FN AOIfoco74tbL3wVNC8VSOvlFVPcpWoj3KViiZNjNaHsDEryuy7dEmJ2awpyYFK0tXAJf Xj3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690959885; x=1691564685; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=l2sfaru8OmVAEwVJ+R5RxlQAJhktlVz8IstV6follvw=; b=XA1DmJhEsBiEiIib8DIGesGNdewK0kFbzlYDMnSaDwKyzsCWJzl6kuiIEWrNMfVmZI EWGHf/unyAnJyBHwpXKF52VqDBNtKzUTBSk2lDGlMCT/Ve5h312IqY+EG9b2D1XB5vwG aSyqQz0SCeoFwSvqngx1J157kkfJBUrvdB4fNg9mWwUHwAGYlMNdyn4J0scrb46+v33j C9qQiE8IXyRBWzPX4sHgh47ZGMuV5MxJiX8LYumkNfbtETNMR4GbZit/YHjXCOnrzTQu IELihp1NDDqh+wzzCImI5WOLsIWmKNwS9aZgOVx+a/smrfnRuW18aDHXG9HniOPEeaHe 8WrQ== X-Gm-Message-State: ABy/qLZ/GOpkApM1tsQ+3l9ULpLUB9r8OlN+V1JjyrOF5d2LnzPKPFXR 1awYj9rZlFvSh4Q+P0H/NbgLyWUlbrrb5p7N3PNqTg== X-Received: by 2002:a19:2d5b:0:b0:4f9:dac6:2f3d with SMTP id t27-20020a192d5b000000b004f9dac62f3dmr1638816lft.13.1690959885075; Wed, 02 Aug 2023 00:04:45 -0700 (PDT) MIME-Version: 1.0 References: <20230731065041.1447-1-masahisa.kojima@linaro.org> <20230731065041.1447-4-masahisa.kojima@linaro.org> In-Reply-To: From: Ilias Apalodimas Date: Wed, 2 Aug 2023 10:04:08 +0300 Message-ID: Subject: Re: [PATCH v7 3/5] efi: Add tee-based EFI variable driver To: Heinrich Schuchardt Cc: Masahisa Kojima , Ard Biesheuvel , Jens Wiklander , Jan Kiszka , Sumit Garg , linux-kernel@vger.kernel.org, op-tee@lists.trustedfirmware.org, Johan Hovold , Maxime Coquelin , Alexandre Torgue , linux-efi@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable 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 Hi Heinrich [...] > > +static struct tee_client_driver tee_stmm_efi_driver = { > > + .id_table = tee_stmm_efi_id_table, > > + .driver = { > > + .name = "tee-stmm-efi", > > + .bus = &tee_bus_type, > > + .probe = tee_stmm_efi_probe, > > + .remove = tee_stmm_efi_remove, > > + }, > > +}; > > + > > +static int __init tee_stmm_efi_mod_init(void) > > +{ > > + return driver_register(&tee_stmm_efi_driver.driver); > > Assuming that multiple drivers supplying EFI runtime services may be > available in future, e.g. > > * generic, using EFI runtime function supplied by UEFI firmware > * TEE-STMM > * Qualcomm driver as needed for Lenovo X13s > * ubootefi.var file in ESP > > further assuming that multiple driver probe functions succeed: > > How do you identify which driver to activate? This is really a firmware issue. Whoever assembles that needs to make sure there's a single entity that should manage the EFI variables. As far as the current situation - Qualcomm doesn't run OP-TEE and IIRC uses a DT-entry to enable that code - OP-TEE will swap the runtime variables calls if StMM is compiled along and the userspace supplicant is running - We got no support for ubootefi.var. If we ever add that the only clash I can see is u-boot compiled with StMM support and someone touches the ubootefi.var on ESP. I'd really prefer to have the feature be autodetected, but if we can't do that, perhaps we could agree on an EFI config table that the kernel could read and interpret on what to activate on priority, or alternatively re-purpose Qualcomms DT entry? Regards /Ilias > > Best regards > > Heinrich > > > +} > > + > > +static void __exit tee_stmm_efi_mod_exit(void) > > +{ > > + driver_unregister(&tee_stmm_efi_driver.driver); > > +} > > + > > +module_init(tee_stmm_efi_mod_init); > > +module_exit(tee_stmm_efi_mod_exit); > > + > > +MODULE_LICENSE("GPL"); > > +MODULE_AUTHOR("Ilias Apalodimas "); > > +MODULE_AUTHOR("Masahisa Kojima "); > > +MODULE_DESCRIPTION("TEE based EFI runtime variable service driver"); >