From: Tom Lendacky <thomas.lendacky@amd.com>
To: Yunseong Kim <yunseong.kim@est.tech>,
Herbert Xu <herbert@gondor.apana.org.au>,
Mario Limonciello <mario.limonciello@amd.com>,
John Allen <john.allen@amd.com>,
"David S. Miller" <davem@davemloft.net>
Cc: Yunseong Kim <ysk@kzalloc.com>,
linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] crypto: ccp: Fix incorrect return type for psp_get_capability()
Date: Mon, 27 Apr 2026 09:33:40 -0500 [thread overview]
Message-ID: <9ed7d3ad-62e2-4d60-97d9-ee454d9ef2d6@amd.com> (raw)
In-Reply-To: <20260426-master-v2-1-dac9d1d99cfa@est.tech>
On 4/26/26 16:25, Yunseong Kim wrote:
> [Some people who received this message don't often get email from yunseong.kim@est.tech. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
>
> psp_get_capability() is declared as returning an 'unsigned int'. However,
> it returns -ENODEV on failure when it cannot access the device registers
> (i.e., when ioread32 returns 0xffffffff).
>
> Since -ENODEV is a negative value, returning it from a function declared as
> 'unsigned int' results in an implicit cast to a large positive integer.
> This prevents the caller psp_dev_init() from correctly detecting the
> error condition, leading to improper error handling.
Not true. The psp_dev_init() function will assign the return value to an
int and so it ends up getting the -ENODEV value in the end. Also, since
psp_dev_init() is only checking for a non-zero value on error and the
return value of psp_dev_init() is not checked, this doesn't have any
impact on the processing or handling of errors.
I agree that psp_get_capability() should return an int instead of an
unsigned int, so the patch is fine, but you need to rework the commit
message to be accurate.
Thanks,
Tom
>
> Signed-off-by: Yunseong Kim <yunseong.kim@est.tech>
> ---
> Changes in v2:
> - Address feedback from Tom Lendacky.
> ---
> drivers/crypto/ccp/psp-dev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/crypto/ccp/psp-dev.c b/drivers/crypto/ccp/psp-dev.c
> index 5c7f7e02a7d8..664cd51bbf0d 100644
> --- a/drivers/crypto/ccp/psp-dev.c
> +++ b/drivers/crypto/ccp/psp-dev.c
> @@ -141,7 +141,7 @@ static irqreturn_t psp_irq_handler(int irq, void *data)
> return IRQ_HANDLED;
> }
>
> -static unsigned int psp_get_capability(struct psp_device *psp)
> +static int psp_get_capability(struct psp_device *psp)
> {
> unsigned int val = ioread32(psp->io_regs + psp->vdata->feature_reg);
>
>
> ---
> base-commit: 7080e32d3f09d8688c4a87d81bdcc71f7f606b16
> change-id: 20260426-master-eba8d68042ab
>
> Best regards,
> --
> Yunseong Kim <yunseong.kim@est.tech>
>
next prev parent reply other threads:[~2026-04-27 14:33 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-26 21:25 [PATCH v2] crypto: ccp: Fix incorrect return type for psp_get_capability() Yunseong Kim
2026-04-27 14:33 ` Tom Lendacky [this message]
2026-04-27 15:24 ` Yunseong Kim
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=9ed7d3ad-62e2-4d60-97d9-ee454d9ef2d6@amd.com \
--to=thomas.lendacky@amd.com \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=john.allen@amd.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mario.limonciello@amd.com \
--cc=ysk@kzalloc.com \
--cc=yunseong.kim@est.tech \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox