From: Ashish Kalra <Ashish.Kalra@amd.com>
To: <seanjc@google.com>, <pbonzini@redhat.com>, <tglx@linutronix.de>,
<mingo@redhat.com>, <bp@alien8.de>, <dave.hansen@linux.intel.com>,
<x86@kernel.org>, <hpa@zytor.com>, <thomas.lendacky@amd.com>,
<john.allen@amd.com>, <herbert@gondor.apana.org.au>
Cc: <michael.roth@amd.com>, <dionnaglaze@google.com>,
<nikunj@amd.com>, <ardb@kernel.org>, <kevinloughlin@google.com>,
<Neeraj.Upadhyay@amd.com>, <aik@amd.com>, <kvm@vger.kernel.org>,
<linux-kernel@vger.kernel.org>, <linux-crypto@vger.kernel.org>,
<linux-coco@lists.linux.dev>
Subject: [PATCH v4 4/7] crypto: ccp: Register SNP panic notifier only if SNP is enabled
Date: Wed, 19 Feb 2025 20:53:47 +0000 [thread overview]
Message-ID: <de3a9cc7808dcf3636e2bd2e48c2db06d3eab502.1739997129.git.ashish.kalra@amd.com> (raw)
In-Reply-To: <cover.1739997129.git.ashish.kalra@amd.com>
From: Ashish Kalra <ashish.kalra@amd.com>
Register the SNP panic notifier if and only if SNP is actually
initialized and deregistering the notifier when shutting down
SNP in PSP driver when KVM module is unloaded.
Currently the SNP panic notifier is being registered
irrespective of SNP being enabled/initialized and with this
change the SNP panic notifier is registered only if SNP
support is enabled and initialized.
Reviewed-by: Dionna Glaze <dionnaglaze@google.com>
Reviewed-by: Alexey Kardashevskiy <aik@amd.com>
Signed-off-by: Ashish Kalra <ashish.kalra@amd.com>
---
drivers/crypto/ccp/sev-dev.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c
index be8a84ce24c7..582304638319 100644
--- a/drivers/crypto/ccp/sev-dev.c
+++ b/drivers/crypto/ccp/sev-dev.c
@@ -109,6 +109,13 @@ static void *sev_init_ex_buffer;
*/
static struct sev_data_range_list *snp_range_list;
+static int snp_shutdown_on_panic(struct notifier_block *nb,
+ unsigned long reason, void *arg);
+
+static struct notifier_block snp_panic_notifier = {
+ .notifier_call = snp_shutdown_on_panic,
+};
+
static inline bool sev_version_greater_or_equal(u8 maj, u8 min)
{
struct sev_device *sev = psp_master->sev_data;
@@ -1197,6 +1204,9 @@ static int __sev_snp_init_locked(int *error)
dev_info(sev->dev, "SEV-SNP API:%d.%d build:%d\n", sev->api_major,
sev->api_minor, sev->build);
+ atomic_notifier_chain_register(&panic_notifier_list,
+ &snp_panic_notifier);
+
sev_es_tmr_size = SNP_TMR_SIZE;
return 0;
@@ -1751,6 +1761,9 @@ static int __sev_snp_shutdown_locked(int *error, bool panic)
sev->snp_initialized = false;
dev_dbg(sev->dev, "SEV-SNP firmware shutdown\n");
+ atomic_notifier_chain_unregister(&panic_notifier_list,
+ &snp_panic_notifier);
+
/* Reset TMR size back to default */
sev_es_tmr_size = SEV_TMR_SIZE;
@@ -2466,10 +2479,6 @@ static int snp_shutdown_on_panic(struct notifier_block *nb,
return NOTIFY_DONE;
}
-static struct notifier_block snp_panic_notifier = {
- .notifier_call = snp_shutdown_on_panic,
-};
-
int sev_issue_cmd_external_user(struct file *filep, unsigned int cmd,
void *data, int *error)
{
@@ -2518,8 +2527,6 @@ void sev_pci_init(void)
dev_info(sev->dev, "SEV%s API:%d.%d build:%d\n", sev->snp_initialized ?
"-SNP" : "", sev->api_major, sev->api_minor, sev->build);
- atomic_notifier_chain_register(&panic_notifier_list,
- &snp_panic_notifier);
return;
err:
@@ -2536,7 +2543,4 @@ void sev_pci_exit(void)
return;
sev_firmware_shutdown(sev);
-
- atomic_notifier_chain_unregister(&panic_notifier_list,
- &snp_panic_notifier);
}
--
2.34.1
next prev parent reply other threads:[~2025-02-19 20:54 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-19 20:52 [PATCH v4 0/7] Move initializing SEV/SNP functionality to KVM Ashish Kalra
2025-02-19 20:52 ` [PATCH v4 1/7] crypto: ccp: Move dev_info/err messages for SEV/SNP init and shutdown Ashish Kalra
2025-02-20 18:27 ` Tom Lendacky
2025-02-19 20:53 ` [PATCH v4 2/7] crypto: ccp: Ensure implicit SEV/SNP init and shutdown in ioctls Ashish Kalra
2025-02-20 16:44 ` Dionna Amalie Glaze
2025-02-20 20:07 ` Kalra, Ashish
2025-02-20 21:37 ` Dionna Amalie Glaze
2025-02-20 22:18 ` Kalra, Ashish
2025-02-20 22:39 ` Dionna Amalie Glaze
2025-02-19 20:53 ` [PATCH v4 3/7] crypto: ccp: Reset TMR size at SNP Shutdown Ashish Kalra
2025-02-20 16:47 ` Dionna Amalie Glaze
2025-02-20 18:55 ` Tom Lendacky
2025-02-19 20:53 ` Ashish Kalra [this message]
2025-02-20 19:08 ` [PATCH v4 4/7] crypto: ccp: Register SNP panic notifier only if SNP is enabled Tom Lendacky
2025-02-19 20:54 ` [PATCH v4 5/7] crypto: ccp: Add new SEV/SNP platform shutdown API Ashish Kalra
2025-02-20 19:21 ` Tom Lendacky
2025-02-19 20:54 ` [PATCH v4 6/7] KVM: SVM: Add support to initialize SEV/SNP functionality in KVM Ashish Kalra
2025-02-20 19:57 ` Tom Lendacky
2025-02-19 20:55 ` [PATCH v4 7/7] crypto: ccp: Move SEV/SNP Platform initialization to KVM Ashish Kalra
2025-02-20 20:03 ` Tom Lendacky
2025-02-20 20:23 ` Kalra, Ashish
2025-02-20 21:05 ` Tom Lendacky
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=de3a9cc7808dcf3636e2bd2e48c2db06d3eab502.1739997129.git.ashish.kalra@amd.com \
--to=ashish.kalra@amd.com \
--cc=Neeraj.Upadhyay@amd.com \
--cc=aik@amd.com \
--cc=ardb@kernel.org \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=dionnaglaze@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=hpa@zytor.com \
--cc=john.allen@amd.com \
--cc=kevinloughlin@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.roth@amd.com \
--cc=mingo@redhat.com \
--cc=nikunj@amd.com \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=x86@kernel.org \
/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
all inboxes | Powered by JetHome®