Linux cryptographic layer development
 help / color / mirror / Atom feed
* [bug report] crypto: ccp - Move dev_info/err messages for SEV/SNP init and shutdown
@ 2025-04-09 10:59 Dan Carpenter
  0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2025-04-09 10:59 UTC (permalink / raw)
  To: Ashish Kalra; +Cc: linux-crypto

Hello Ashish Kalra,

Commit 9770b428b1a2 ("crypto: ccp - Move dev_info/err messages for
SEV/SNP init and shutdown") from Mar 24, 2025 (linux-next), leads to
the following Smatch static checker warning:

	drivers/crypto/ccp/sev-dev.c:1755 __sev_snp_shutdown_locked()
	error: uninitialized symbol 'dfflush_error'.

drivers/crypto/ccp/sev-dev.c
    1718 static int __sev_snp_shutdown_locked(int *error, bool panic)
    1719 {
    1720         struct psp_device *psp = psp_master;
    1721         struct sev_device *sev;
    1722         struct sev_data_snp_shutdown_ex data;
    1723         int ret;
    1724 
    1725         if (!psp || !psp->sev_data)
    1726                 return 0;
    1727 
    1728         sev = psp->sev_data;
    1729 
    1730         if (!sev->snp_initialized)
    1731                 return 0;
    1732 
    1733         memset(&data, 0, sizeof(data));
    1734         data.len = sizeof(data);
    1735         data.iommu_snp_shutdown = 1;
    1736 
    1737         /*
    1738          * If invoked during panic handling, local interrupts are disabled
    1739          * and all CPUs are stopped, so wbinvd_on_all_cpus() can't be called.
    1740          * In that case, a wbinvd() is done on remote CPUs via the NMI
    1741          * callback, so only a local wbinvd() is needed here.
    1742          */
    1743         if (!panic)
    1744                 wbinvd_on_all_cpus();
    1745         else
    1746                 wbinvd();
    1747 
    1748         ret = __sev_do_cmd_locked(SEV_CMD_SNP_SHUTDOWN_EX, &data, error);
    1749         /* SHUTDOWN may require DF_FLUSH */
    1750         if (*error == SEV_RET_DFFLUSH_REQUIRED) {
    1751                 int dfflush_error;
    1752 
    1753                 ret = __sev_do_cmd_locked(SEV_CMD_SNP_DF_FLUSH, NULL, &dfflush_error);
    1754                 if (ret) {
--> 1755                         dev_err(sev->dev, "SEV-SNP DF_FLUSH failed, ret = %d, error = %#x\n",
    1756                                 ret, dfflush_error);
                                              ^^^^^^^^^^^^^
dfflush_error isn't necessarily initialized on error in
__sev_do_cmd_locked().

regards,
dan carpenter

    1757                         return ret;
    1758                 }
    1759                 /* reissue the shutdown command */
    1760                 ret = __sev_do_cmd_locked(SEV_CMD_SNP_SHUTDOWN_EX, &data,
    1761                                           error);


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-04-09 10:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-09 10:59 [bug report] crypto: ccp - Move dev_info/err messages for SEV/SNP init and shutdown Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox