All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko@kernel.org>
To: Pei Xiao <xiaopei01@kylinos.cn>
Cc: peterhuewe@gmx.de, linux-integrity@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/4] tpm: tpm_ppi: fix zero-extension of negative error codes
Date: Thu, 8 Oct 2026 20:49:05 +0300	[thread overview]
Message-ID: <asfXkXCEYewJVyYb@kernel.org> (raw)
In-Reply-To: <654d1a02c0720a37ae38382a71f0b8c0f5f9b6a0.1791421672.git.xiaopei01@kylinos.cn>

On Thu, Oct 08, 2026 at 09:16:20AM +0800, Pei Xiao wrote:
> tpm_show_ppi_response() keeps its return value in an acpi_status,
> a typedef of u32.  The two's complement of the error code is stored
> correctly there, but on return the value is converted to ssize_t and
> zero-extended, so the sign is lost: user space receives 0xFFFFFFEA
> (4294967274) instead of -EINVAL, which breaks the usual "ret < 0" error
> check.
> Declare the variable as ssize_t so that negative values survive the
> conversion.
> 
> Fixes: 84b1667dea23 ("ACPI / TPM: replace open-coded _DSM code with helper functions")
> Assisted-by: GLM-5.3
> Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn>
> ---
>  drivers/char/tpm/tpm_ppi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/char/tpm/tpm_ppi.c b/drivers/char/tpm/tpm_ppi.c
> index c9793a3d986d..949fb7055bea 100644
> --- a/drivers/char/tpm/tpm_ppi.c
> +++ b/drivers/char/tpm/tpm_ppi.c
> @@ -234,7 +234,7 @@ static ssize_t tpm_show_ppi_response(struct device *dev,
>  				     struct device_attribute *attr,
>  				     char *buf)
>  {
> -	acpi_status status = -EINVAL;
> +	ssize_t status = -EINVAL;
>  	union acpi_object *obj, *ret_obj;
>  	u64 req, res;
>  	struct tpm_chip *chip = to_tpm_chip(dev);
> -- 
> 2.25.1
> 

OK, cool we went through this so

Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>

Br, Jarkko

  reply	other threads:[~2026-10-08 17:49 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-08  1:16 [PATCH v2 0/4] tpm: some tpm small fixes Pei Xiao
2026-10-08  1:16 ` [PATCH v2 1/4] tpm: tpm_ppi: fix zero-extension of negative error codes Pei Xiao
2026-10-08 17:49   ` Jarkko Sakkinen [this message]
2026-10-08  1:16 ` [PATCH v2 2/4] tpm: tpm_nsc: fix NULL pointer dereference on init failure Pei Xiao
2026-10-08  1:16 ` [PATCH v2 3/4] tpm: tpm_nsc: stop using the cleanup callback as dev.release Pei Xiao
2026-10-08  1:16 ` [PATCH v2 4/4] tpm: fix zero-length read discarding the pending response Pei Xiao
2026-10-08 17:51 ` [PATCH v2 0/4] tpm: some tpm small fixes Jarkko Sakkinen
2026-10-09  1:01   ` Pei Xiao
2026-10-10  4:37     ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=asfXkXCEYewJVyYb@kernel.org \
    --to=jarkko@kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterhuewe@gmx.de \
    --cc=xiaopei01@kylinos.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.