Messages in this thread | | | Date | Tue, 2 Aug 2022 13:52:25 +0300 | From | Jarkko Sakkinen <> | Subject | Re: [PATCH Part2 v6 13/49] crypto:ccp: Provide APIs to issue SEV-SNP commands |
| |
On Tue, Jun 21, 2022 at 03:43:13PM -0600, Peter Gonda wrote: > ( > > On Mon, Jun 20, 2022 at 5:05 PM Ashish Kalra <Ashish.Kalra@amd.com> wrote: > > > > From: Brijesh Singh <brijesh.singh@amd.com> > > > > Provide the APIs for the hypervisor to manage an SEV-SNP guest. The > > commands for SEV-SNP is defined in the SEV-SNP firmware specification. > > > > Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> > > --- > > drivers/crypto/ccp/sev-dev.c | 24 ++++++++++++ > > include/linux/psp-sev.h | 73 ++++++++++++++++++++++++++++++++++++ > > 2 files changed, 97 insertions(+) > > > > diff --git a/drivers/crypto/ccp/sev-dev.c b/drivers/crypto/ccp/sev-dev.c > > index f1173221d0b9..35d76333e120 100644 > > --- a/drivers/crypto/ccp/sev-dev.c > > +++ b/drivers/crypto/ccp/sev-dev.c > > @@ -1205,6 +1205,30 @@ int sev_guest_df_flush(int *error) > > } > > EXPORT_SYMBOL_GPL(sev_guest_df_flush); > > > > +int snp_guest_decommission(struct sev_data_snp_decommission *data, int *error) > > +{ > > + return sev_do_cmd(SEV_CMD_SNP_DECOMMISSION, data, error); > > +} > > +EXPORT_SYMBOL_GPL(snp_guest_decommission); > > + > > +int snp_guest_df_flush(int *error) > > +{ > > + return sev_do_cmd(SEV_CMD_SNP_DF_FLUSH, NULL, error); > > +} > > +EXPORT_SYMBOL_GPL(snp_guest_df_flush);
Nit: undocumented exported functions. Both need kdoc.
> > Why not instead change sev_guest_df_flush() to be SNP aware? That way > callers get the right behavior without having to know if SNP is > enabled or not. > > int sev_guest_df_flush(int *error) > { > if (!psp_master || !psp_master->sev_data) > return -EINVAL; > > if (psp_master->sev_data->snp_inited) > return sev_do_cmd(SEV_CMD_SNP_DF_FLUSH, NULL, error); > > return sev_do_cmd(SEV_CMD_DF_FLUSH, NULL, error); > }
Because it serves no purpose to fuse them into one, and is only more obfuscated (and also undocumented).
Two exported symbols can be traced also separately with ftrace/kprobes.
Degrading transparency is not great idea IMHO.
BR, Jarkko
| |