Re: [PATCH next] crypto/ccp: sev-dev-tsm: fix use after free in sev_tsm_init_locked()
From: Tom Lendacky
Date: Tue Dec 09 2025 - 12:05:26 EST
On 12/5/25 05:39, Dan Carpenter wrote:
> This code frees "t" and then dereferences it on the next line to
> print the error code. Re-order the code to avoid the use after
> free.
>
> Fixes: 3532f6154971 ("crypto/ccp: Implement SEV-TIO PCIe IDE (phase1)")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
Reviewed-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
> ---
> drivers/crypto/ccp/sev-dev-tsm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/crypto/ccp/sev-dev-tsm.c b/drivers/crypto/ccp/sev-dev-tsm.c
> index ea29cd5d0ff9..06e9f0bc153e 100644
> --- a/drivers/crypto/ccp/sev-dev-tsm.c
> +++ b/drivers/crypto/ccp/sev-dev-tsm.c
> @@ -391,9 +391,9 @@ void sev_tsm_init_locked(struct sev_device *sev, void *tio_status_page)
> return;
>
> error_exit:
> - kfree(t);
> pr_err("Failed to enable SEV-TIO: ret=%d en=%d initdone=%d SEV=%d\n",
> ret, t->tio_en, t->tio_init_done, boot_cpu_has(X86_FEATURE_SEV));
> + kfree(t);
> }
>
> void sev_tsm_uninit(struct sev_device *sev)