Message ID | 20240823132137.336874-2-aik@amd.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | Secure VFIO, TDISP, SEV TIO | expand |
On Fri, Aug 23, 2024 at 11:21:15PM +1000, Alexey Kardashevskiy wrote:
Include the text from the title here so the commit log is
self-contained.
> And release the name for TSM to be used for TDISP-associated code.
On Fri, 23 Aug 2024 23:21:15 +1000 Alexey Kardashevskiy <aik@amd.com> wrote: > And release the name for TSM to be used for TDISP-associated code. > Mention that it's not a simple file rename. Some structure renames etc as well. Maybe consider renaming the bits of the exported API as well? > Suggested-by: Dan Williams <dan.j.williams@intel.com> > Signed-off-by: Alexey Kardashevskiy <aik@amd.com> > --- > drivers/virt/coco/Makefile | 2 +- > include/linux/{tsm.h => tsm-report.h} | 15 ++++++++------- > drivers/virt/coco/sev-guest/sev-guest.c | 10 +++++----- > drivers/virt/coco/tdx-guest/tdx-guest.c | 8 ++++---- > drivers/virt/coco/{tsm.c => tsm-report.c} | 12 ++++++------ > MAINTAINERS | 4 ++-- > 6 files changed, 26 insertions(+), 25 deletions(-) > > diff --git a/drivers/virt/coco/Makefile b/drivers/virt/coco/Makefile > index 18c1aba5edb7..75defec514f8 100644 > --- a/drivers/virt/coco/Makefile > +++ b/drivers/virt/coco/Makefile > @@ -2,7 +2,7 @@ > # > # Confidential computing related collateral > # > -obj-$(CONFIG_TSM_REPORTS) += tsm.o > +obj-$(CONFIG_TSM_REPORTS) += tsm-report.o > obj-$(CONFIG_EFI_SECRET) += efi_secret/ > obj-$(CONFIG_SEV_GUEST) += sev-guest/ > obj-$(CONFIG_INTEL_TDX_GUEST) += tdx-guest/ > diff --git a/include/linux/tsm.h b/include/linux/tsm-report.h > similarity index 92% > rename from include/linux/tsm.h > rename to include/linux/tsm-report.h > index 11b0c525be30..4d815358790b 100644 > --- a/include/linux/tsm.h > +++ b/include/linux/tsm-report.h > @@ -1,6 +1,6 @@ > /* SPDX-License-Identifier: GPL-2.0 */ > -#ifndef __TSM_H > -#define __TSM_H > +#ifndef __TSM_REPORT_H > +#define __TSM_REPORT_H > > #include <linux/sizes.h> > #include <linux/types.h> > @@ -88,7 +88,7 @@ enum tsm_bin_attr_index { > }; > > /** > - * struct tsm_ops - attributes and operations for tsm instances > + * struct tsm_report_ops - attributes and operations for tsm instances > * @name: tsm id reflected in /sys/kernel/config/tsm/report/$report/provider > * @privlevel_floor: convey base privlevel for nested scenarios > * @report_new: Populate @report with the report blob and auxblob > @@ -99,7 +99,7 @@ enum tsm_bin_attr_index { > * Implementation specific ops, only one is expected to be registered at > * a time i.e. only one of "sev-guest", "tdx-guest", etc. > */ > -struct tsm_ops { > +struct tsm_report_ops { > const char *name; > unsigned int privlevel_floor; > int (*report_new)(struct tsm_report *report, void *data); > @@ -107,6 +107,7 @@ struct tsm_ops { > bool (*report_bin_attr_visible)(int n); > }; > > -int tsm_register(const struct tsm_ops *ops, void *priv); > -int tsm_unregister(const struct tsm_ops *ops); > -#endif /* __TSM_H */ > +int tsm_register(const struct tsm_report_ops *ops, void *priv); > +int tsm_unregister(const struct tsm_report_ops *ops); Perhaps makes sense to make thiese tsm_report_register() etc. > +#endif /* __TSM_REPORT_H */ > +
Alexey Kardashevskiy wrote:
> And release the name for TSM to be used for TDISP-associated code.
I had a more comprehensive rename in mind so that grepping is a bit more
reliable between tsm_report_ and tsm_ symbol names. I am still looking
to send that series out, but for now here is that rename commit:
https://git.kernel.org/pub/scm/linux/kernel/git/djbw/linux.git/commit/?id=5174e044d64f
...and here is an additional fixup to prep for drivers/virt/coco/
containing both host and guest common code:
https://git.kernel.org/pub/scm/linux/kernel/git/djbw/linux.git/commit/?id=68fb296b36f2
On 30/8/24 10:13, Dan Williams wrote: > Alexey Kardashevskiy wrote: >> And release the name for TSM to be used for TDISP-associated code. > > I had a more comprehensive rename in mind so that grepping is a bit more > reliable between tsm_report_ and tsm_ symbol names. I am still looking > to send that series out, but for now here is that rename commit: > > https://git.kernel.org/pub/scm/linux/kernel/git/djbw/linux.git/commit/?id=5174e044d64f > > ...and here is an additional fixup to prep for drivers/virt/coco/ > containing both host and guest common code: > > https://git.kernel.org/pub/scm/linux/kernel/git/djbw/linux.git/commit/?id=68fb296b36f2 I am happy to use what you have in your queue and drop mine. I also suspect that my TSM will be no more soon, DEV_* bits will go to ide.ko and TDI_* will go to a new tdisp.ko and we won't have a tsm.ko vs tsm-report.ko problem after all. Thanks,
diff --git a/drivers/virt/coco/Makefile b/drivers/virt/coco/Makefile index 18c1aba5edb7..75defec514f8 100644 --- a/drivers/virt/coco/Makefile +++ b/drivers/virt/coco/Makefile @@ -2,7 +2,7 @@ # # Confidential computing related collateral # -obj-$(CONFIG_TSM_REPORTS) += tsm.o +obj-$(CONFIG_TSM_REPORTS) += tsm-report.o obj-$(CONFIG_EFI_SECRET) += efi_secret/ obj-$(CONFIG_SEV_GUEST) += sev-guest/ obj-$(CONFIG_INTEL_TDX_GUEST) += tdx-guest/ diff --git a/include/linux/tsm.h b/include/linux/tsm-report.h similarity index 92% rename from include/linux/tsm.h rename to include/linux/tsm-report.h index 11b0c525be30..4d815358790b 100644 --- a/include/linux/tsm.h +++ b/include/linux/tsm-report.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0 */ -#ifndef __TSM_H -#define __TSM_H +#ifndef __TSM_REPORT_H +#define __TSM_REPORT_H #include <linux/sizes.h> #include <linux/types.h> @@ -88,7 +88,7 @@ enum tsm_bin_attr_index { }; /** - * struct tsm_ops - attributes and operations for tsm instances + * struct tsm_report_ops - attributes and operations for tsm instances * @name: tsm id reflected in /sys/kernel/config/tsm/report/$report/provider * @privlevel_floor: convey base privlevel for nested scenarios * @report_new: Populate @report with the report blob and auxblob @@ -99,7 +99,7 @@ enum tsm_bin_attr_index { * Implementation specific ops, only one is expected to be registered at * a time i.e. only one of "sev-guest", "tdx-guest", etc. */ -struct tsm_ops { +struct tsm_report_ops { const char *name; unsigned int privlevel_floor; int (*report_new)(struct tsm_report *report, void *data); @@ -107,6 +107,7 @@ struct tsm_ops { bool (*report_bin_attr_visible)(int n); }; -int tsm_register(const struct tsm_ops *ops, void *priv); -int tsm_unregister(const struct tsm_ops *ops); -#endif /* __TSM_H */ +int tsm_register(const struct tsm_report_ops *ops, void *priv); +int tsm_unregister(const struct tsm_report_ops *ops); +#endif /* __TSM_REPORT_H */ + diff --git a/drivers/virt/coco/sev-guest/sev-guest.c b/drivers/virt/coco/sev-guest/sev-guest.c index 6fc7884ea0a1..ecc6176633be 100644 --- a/drivers/virt/coco/sev-guest/sev-guest.c +++ b/drivers/virt/coco/sev-guest/sev-guest.c @@ -16,7 +16,7 @@ #include <linux/miscdevice.h> #include <linux/set_memory.h> #include <linux/fs.h> -#include <linux/tsm.h> +#include <linux/tsm-report.h> #include <crypto/aead.h> #include <linux/scatterlist.h> #include <linux/psp-sev.h> @@ -1068,7 +1068,7 @@ static bool sev_report_bin_attr_visible(int n) return false; } -static struct tsm_ops sev_tsm_ops = { +static struct tsm_report_ops sev_tsm_report_ops = { .name = KBUILD_MODNAME, .report_new = sev_report_new, .report_attr_visible = sev_report_attr_visible, @@ -1077,7 +1077,7 @@ static struct tsm_ops sev_tsm_ops = { static void unregister_sev_tsm(void *data) { - tsm_unregister(&sev_tsm_ops); + tsm_unregister(&sev_tsm_report_ops); } static int __init sev_guest_probe(struct platform_device *pdev) @@ -1158,9 +1158,9 @@ static int __init sev_guest_probe(struct platform_device *pdev) snp_dev->input.data_gpa = __pa(snp_dev->certs_data); /* Set the privlevel_floor attribute based on the vmpck_id */ - sev_tsm_ops.privlevel_floor = vmpck_id; + sev_tsm_report_ops.privlevel_floor = vmpck_id; - ret = tsm_register(&sev_tsm_ops, snp_dev); + ret = tsm_register(&sev_tsm_report_ops, snp_dev); if (ret) goto e_free_cert_data; diff --git a/drivers/virt/coco/tdx-guest/tdx-guest.c b/drivers/virt/coco/tdx-guest/tdx-guest.c index 2acba56ad42e..221d8b074301 100644 --- a/drivers/virt/coco/tdx-guest/tdx-guest.c +++ b/drivers/virt/coco/tdx-guest/tdx-guest.c @@ -15,7 +15,7 @@ #include <linux/set_memory.h> #include <linux/io.h> #include <linux/delay.h> -#include <linux/tsm.h> +#include <linux/tsm-report.h> #include <linux/sizes.h> #include <uapi/linux/tdx-guest.h> @@ -300,7 +300,7 @@ static const struct x86_cpu_id tdx_guest_ids[] = { }; MODULE_DEVICE_TABLE(x86cpu, tdx_guest_ids); -static const struct tsm_ops tdx_tsm_ops = { +static const struct tsm_report_ops tdx_tsm_report_ops = { .name = KBUILD_MODNAME, .report_new = tdx_report_new, .report_attr_visible = tdx_report_attr_visible, @@ -325,7 +325,7 @@ static int __init tdx_guest_init(void) goto free_misc; } - ret = tsm_register(&tdx_tsm_ops, NULL); + ret = tsm_register(&tdx_tsm_report_ops, NULL); if (ret) goto free_quote; @@ -342,7 +342,7 @@ module_init(tdx_guest_init); static void __exit tdx_guest_exit(void) { - tsm_unregister(&tdx_tsm_ops); + tsm_unregister(&tdx_tsm_report_ops); free_quote_buf(quote_data); misc_deregister(&tdx_misc_dev); } diff --git a/drivers/virt/coco/tsm.c b/drivers/virt/coco/tsm-report.c similarity index 98% rename from drivers/virt/coco/tsm.c rename to drivers/virt/coco/tsm-report.c index 9432d4e303f1..753ba2477f52 100644 --- a/drivers/virt/coco/tsm.c +++ b/drivers/virt/coco/tsm-report.c @@ -3,7 +3,7 @@ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -#include <linux/tsm.h> +#include <linux/tsm-report.h> #include <linux/err.h> #include <linux/slab.h> #include <linux/rwsem.h> @@ -13,7 +13,7 @@ #include <linux/configfs.h> static struct tsm_provider { - const struct tsm_ops *ops; + const struct tsm_report_ops *ops; void *data; } provider; static DECLARE_RWSEM(tsm_rwsem); @@ -272,7 +272,7 @@ static ssize_t tsm_report_read(struct tsm_report *report, void *buf, size_t count, enum tsm_data_select select) { struct tsm_report_state *state = to_state(report); - const struct tsm_ops *ops; + const struct tsm_report_ops *ops; ssize_t rc; /* try to read from the existing report if present and valid... */ @@ -448,9 +448,9 @@ static struct configfs_subsystem tsm_configfs = { .su_mutex = __MUTEX_INITIALIZER(tsm_configfs.su_mutex), }; -int tsm_register(const struct tsm_ops *ops, void *priv) +int tsm_register(const struct tsm_report_ops *ops, void *priv) { - const struct tsm_ops *conflict; + const struct tsm_report_ops *conflict; guard(rwsem_write)(&tsm_rwsem); conflict = provider.ops; @@ -465,7 +465,7 @@ int tsm_register(const struct tsm_ops *ops, void *priv) } EXPORT_SYMBOL_GPL(tsm_register); -int tsm_unregister(const struct tsm_ops *ops) +int tsm_unregister(const struct tsm_report_ops *ops) { guard(rwsem_write)(&tsm_rwsem); if (ops != provider.ops) diff --git a/MAINTAINERS b/MAINTAINERS index fcd91e4c5665..5169b13b2e55 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -23256,8 +23256,8 @@ M: Dan Williams <dan.j.williams@intel.com> L: linux-coco@lists.linux.dev S: Maintained F: Documentation/ABI/testing/configfs-tsm -F: drivers/virt/coco/tsm.c -F: include/linux/tsm.h +F: drivers/virt/coco/tsm-report.c +F: include/linux/tsm-report.h TRUSTED SERVICES TEE DRIVER M: Balint Dobszay <balint.dobszay@arm.com>
And release the name for TSM to be used for TDISP-associated code. Suggested-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Alexey Kardashevskiy <aik@amd.com> --- drivers/virt/coco/Makefile | 2 +- include/linux/{tsm.h => tsm-report.h} | 15 ++++++++------- drivers/virt/coco/sev-guest/sev-guest.c | 10 +++++----- drivers/virt/coco/tdx-guest/tdx-guest.c | 8 ++++---- drivers/virt/coco/{tsm.c => tsm-report.c} | 12 ++++++------ MAINTAINERS | 4 ++-- 6 files changed, 26 insertions(+), 25 deletions(-)