Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp8418654rwr; Thu, 11 May 2023 00:34:20 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5MoAIKiCYivkw6jMxrJm1WlYTWCJHNV1pX3l1rndOwBb4EohRTskdOVNKWx2SGag5527Ff X-Received: by 2002:a17:902:d50f:b0:1ac:9cad:17fc with SMTP id b15-20020a170902d50f00b001ac9cad17fcmr11640357plg.1.1683790459925; Thu, 11 May 2023 00:34:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683790459; cv=none; d=google.com; s=arc-20160816; b=cytHh26Y60qMMUwAn/Ilx5GFNpV/+iUH3RcEM0u/k12fkRImUeGAVWlSPLiJ6Crhej vCg/BXvbQrtpGCgwkhT0kXa8pGCY5jZARIbnsgjxcYBPBeyt2LQYPAU4Zjj7g5uXiaAl j0IMKmSAldbWWNkjN/s4ZEMbAk8o+ry8NgdOUI/hzwL1Kr2wjNydvF/fZtKZVYiJAubW sqmk0RzOWLjKeUtuQcYi3SrsTfmzwpjeS0SatbJOXrQUSLsgbCoWVijtDJCW0s4FxmPg UsWhmsevO8pEet6IiL3fkEo+iMcPxivxCAXfHj4yNqCVe6FT8pXU/BJbF+yf8FZhccRw 0AxA== 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=ByB4pfwmcoAKbCvDGkyQJemL9axC2eU/XREfF3lNALk=; b=hS6LheGyCWSv8yJ7rXWqKwQpvqP5fQLuJ9noqRPVzEGRIQ8gWMnAJX8KKOhhUuzYej 8COChF3AUTSzdCJQTJ0KGzQFpLcd1dZvdqTsH8C21AwUUMWpo76VHQ/13Cvwh3k2ft7Z YW5WhPYHl58nAA0oMKZWOvB4klKcYIh8Y7hooIakODLZfsmqQ1LNWIXh0/+qXn0ra4ic ee6TyYXzdIIlHDRUoDfe95AA0uecK9DEDV3ibrzVnC3Mfk3S2fuLlyJ9O+jkKQgiW2Pv 10rEQDKipjIpXARF09+dMQwjKEg7gOMLluI9kp6UWX4mXNcIeetDaXiM2VGyaQ+NDHCQ tSsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MYqS0oLF; 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 n13-20020a170903110d00b001ab0acfc1edsi6402457plh.262.2023.05.11.00.34.05; Thu, 11 May 2023 00:34:19 -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=MYqS0oLF; 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 S236700AbjEKHVx (ORCPT + 99 others); Thu, 11 May 2023 03:21:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54898 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237642AbjEKHVd (ORCPT ); Thu, 11 May 2023 03:21:33 -0400 Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DAB0483E4 for ; Thu, 11 May 2023 00:20:47 -0700 (PDT) Received: by mail-ed1-x52b.google.com with SMTP id 4fb4d7f45d1cf-50b8d2eed3dso12482468a12.0 for ; Thu, 11 May 2023 00:20:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1683789646; x=1686381646; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ByB4pfwmcoAKbCvDGkyQJemL9axC2eU/XREfF3lNALk=; b=MYqS0oLF1GjGiAFTPneIwzHZuUTsuag2OjRnQESkyULiBknONhlDNixpHGbX1xXiyJ /MEZDeRBCys38+oqaXLzOqEQqyuugpzj2XvUpS5cONbIXUlkEIN+OcYkoaw2AC8U7Fbd BGAcoqNBUOMkb1K7QhDnrknL71aWTQ9TJMsb/oI9yCnpw9X1heWNnKS3ZRj8SmB9Ot2o vTr7RvoYet4XLb8Mnkqqf3s7h3GbmkDGtVj62c4hWT7EcCinxEZZ3ImhEWZ9re4MH3ck FAAfNfg8SsJJJY4J6mjhaPWDoScBxE9kYi9ltz9J7Kitb7Mgg8IkXbTlCW2Q37MRPt5L yZrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683789646; x=1686381646; 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=ByB4pfwmcoAKbCvDGkyQJemL9axC2eU/XREfF3lNALk=; b=hklxGo62QcgfvUqq+ndLlxQHFk2nzZ3CetmHJsvDwxKsHKcRO1/b+j4sMXsMsZKi+/ pm+aivgz2J6b1hUX4c8mWD7joPEp34lkX8lNqlCXhgH17DCsASz26TTBs/XzVFWZ9FPN hOHBkE02e00CoEERGx1CJ7U/hbdv95lSrIAzTWb/4+YJM1SGkp9yN9T2Wf9LlofBXYCa l1iinvV84XfSFajfAFfnmIbvwaO14pL3prkjZ0h3tZ0WlubcUUCeH0AW+JXLuCjnYwTn TWMTL379dNhivwQYTBh46e5orb3TGcBFg57Jd8Cmnqa2EOyTXuNOhcl0fA40s4p71F1E KGlg== X-Gm-Message-State: AC+VfDwxVyWW70kYTaIas0TSuX576AvdR/bSF/D8WNlcjBr5X3pstJV5 wqTOaVt/htYubgOc4R3ri6HBy2n3yHYGJCzDLK6xB90CH6xM0sII8Fk= X-Received: by 2002:a17:907:6e9e:b0:931:ad32:79ed with SMTP id sh30-20020a1709076e9e00b00931ad3279edmr22168618ejc.12.1683789645988; Thu, 11 May 2023 00:20:45 -0700 (PDT) MIME-Version: 1.0 References: <20230505173012.881083-1-etienne.carriere@linaro.org> In-Reply-To: From: Etienne Carriere Date: Thu, 11 May 2023 09:20:35 +0200 Message-ID: Subject: Re: [PATCH v6 1/4] tee: optee: system call property To: Sumit Garg Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, op-tee@lists.trustedfirmware.org, Jens Wiklander , Sudeep Holla , Cristian Marussi 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_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 On Thu, 11 May 2023 at 08:03, Sumit Garg wrote: > (snip) > > > > > > > > int optee_invoke_func(struct tee_context *ctx, struct tee_ioctl_invoke_arg *arg, > > > > @@ -408,12 +412,15 @@ int optee_invoke_func(struct tee_context *ctx, struct tee_ioctl_invoke_arg *arg, > > > > struct optee_msg_arg *msg_arg; > > > > struct optee_session *sess; > > > > struct tee_shm *shm; > > > > + bool system_thread; > > > > u_int offs; > > > > int rc; > > > > > > > > /* Check that the session is valid */ > > > > mutex_lock(&ctxdata->mutex); > > > > sess = find_session(ctxdata, arg->session); > > > > + if (sess) > > > > > > This check is redundant if we move the assignment below... > > > > Here we change the sesssion attribute while the mutex is locked, in > > case some equivalent call with that session is issued. > > Below we return to caller once mutex is unlocked. > > I think it is the safer behavior. What do you think? > > Aren't we only reading session attribute in order to capture value in > a local variable: system_thread? I don't think that it would require a > mutex. optee_system_session() sets session::use_sys_thread with mutex locked hence I think we should get the attribute with the mutex locked. See "[PATCH v6 3/4] tee: optee: support tracking system threads". Etienne > > -Sumit > > > > > Best regards, > > Etienne > > > > > > > > > + system_thread = sess->use_sys_thread; > > > > mutex_unlock(&ctxdata->mutex); > > > > if (!sess) > > > > return -EINVAL; > > > > > > ...here as: > > > system_thread = sess->use_sys_thread; > > > (snip)