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 B06AA21D5B6; Thu, 8 May 2025 19:58:03 +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=1746734283; cv=none; b=aQLfoxRFWFSZq9rorYY6we8eS7IT9HarT3hZaRWStmciZVhk6UD9HeYYTCyl3f47ubcQ0WvbrrwaZ3sjVIg+EGI85D9o5jf/hcwJ64RWrivimEv9gPk1gqdPBu7M0lcsVhf0NJgSxUwRdayraUqQWIFSSqa3riSdzZWOcDqJjgY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746734283; c=relaxed/simple; bh=FH9ehDK9w6juOjpTVtLhZKee0FunkstL7xkh4AtrgTw=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=SAPNFEmV5NLXNP/AZ+vjeIponEx6AjHgnyLurZSQIw9SJfR/1KB+GGfs5kgkw928NaEfAC02kcLS82qU5e5Hnj4IKP9xq3CQmLUS3IAeyF0NkoIdY1iTiOy4J0IMx6V3kCNvXVlYTlg3dgw/auLyQ9YQH1pOdk8Dn206hhliWaA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZiRICA1o; 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="ZiRICA1o" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DD17C4CEE7; Thu, 8 May 2025 19:58:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1746734283; bh=FH9ehDK9w6juOjpTVtLhZKee0FunkstL7xkh4AtrgTw=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ZiRICA1oFfayFJnQV5xeTUPwimK7G3h4CFi26D/JDJTMCB/Ex+seUtV616z+bWwXv dX5eoV51Sg+vgkqhmT+7I9T2omk1J00lBbpObzTFG4VEJfXY2ajSN+9IUU9z4oHDNm OWSf+Y/8AJqDntx62kr8L/NcQehqGTzbWEBQ/QeIN+uJhVI7LQThEtxkgJkT+vTdre Ehvh1fpEmR+1Ks49iK7GS+bTbAxN1oi0yCIHoIjkUvbRXk5SSDivdJ8AFzNFL50kAD Z29BDBtD7Mf5sbdHr0973NnKVNyRlhz+ClqxoDKV3Q2Pxk/8MNAC1UEvQSASgiy8H7 WG+tYLe6KBN3g== Date: Thu, 8 May 2025 22:57:58 +0300 From: Jarkko Sakkinen To: Qunqin Zhao Cc: Stefano Garzarella , lee@kernel.org, herbert@gondor.apana.org.au, davem@davemloft.net, peterhuewe@gmx.de, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-crypto@vger.kernel.org, jgg@ziepe.ca, linux-integrity@vger.kernel.org, pmenzel@molgen.mpg.de, Yinggang Gu , Huacai Chen Subject: Re: [PATCH v9 4/5] tpm: Add a driver for Loongson TPM device Message-ID: References: <20250506031947.11130-1-zhaoqunqin@loongson.cn> <20250506031947.11130-5-zhaoqunqin@loongson.cn> <2nuadbg5awe6gvagxg7t5ewvxsbmiq4qrcrycvnrmt2etzq2ke@6oyzavctwrma> <0b148f09-d20d-b6be-d31b-6c8a553658c9@loongson.cn> 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: <0b148f09-d20d-b6be-d31b-6c8a553658c9@loongson.cn> On Wed, May 07, 2025 at 09:33:32AM +0800, Qunqin Zhao wrote: > > 在 2025/5/6 下午10:13, Stefano Garzarella 写道: > > On Tue, May 06, 2025 at 11:19:46AM +0800, Qunqin Zhao wrote: > > > Loongson Security Engine supports random number generation, hash, > > > symmetric encryption and asymmetric encryption. Based on these > > > encryption functions, TPM2 have been implemented in the Loongson > > > Security Engine firmware. This driver is responsible for copying data > > > into the memory visible to the firmware and receiving data from the > > > firmware. > > > > > > Co-developed-by: Yinggang Gu > > > Signed-off-by: Yinggang Gu > > > Signed-off-by: Qunqin Zhao > > > Reviewed-by: Huacai Chen > > > Reviewed-by: Jarkko Sakkinen > > > --- > > > v9: "tpm_loongson_driver" --> "tpm_loongson" > > >    "depends on CRYPTO_DEV_LOONGSON_SE" --> "depends on MFD_LOONGSON_SE" > > > > ... > > > +static int tpm_loongson_recv(struct tpm_chip *chip, u8 *buf, size_t > > > count) > > > +{ > > > +    struct loongson_se_engine *tpm_engine = > > > dev_get_drvdata(&chip->dev); > > > +    struct tpm_loongson_cmd *cmd_ret = tpm_engine->command_ret; > > > + > > > +    memcpy(buf, tpm_engine->data_buffer, cmd_ret->data_len); > > > > Should we limit the memcpy to `count`? > > > > I mean, can happen that `count` is less than `cmd_ret->data_len`? > > Hi, Stefan, thanks for your comment. > > Firmware ensures "cmd_ret->data_len" will be less than TPM_BUFSIZE,  so this > would never happen. It still must have check-and-fail, as we don't live in a belief system :-) It helps to mitigate collateral damage of possible firmware bugs (and thus -EIO is the appropriate error code). > > BR, Qunqin. > > > > > Thanks, > > Stefano > BR, Jarkko