summaryrefslogtreecommitdiffstats
path: root/src/detect-virt/detect-virt.c
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2023-06-30 20:07:29 +0200
committerLuca Boccassi <bluca@debian.org>2023-07-06 13:20:04 +0200
commitf460fec91524b6171183e70f03e10ab025bd1f03 (patch)
tree64fa06ae270eb850c53ffad8dd7a19e4c14aff19 /src/detect-virt/detect-virt.c
parentdetect-virt: add --cvm option (diff)
downloadsystemd-f460fec91524b6171183e70f03e10ab025bd1f03.tar.xz
systemd-f460fec91524b6171183e70f03e10ab025bd1f03.zip
detect-virt: add --list-cvm option
The --list-cvm option reports the known types of confidential virtualization technology that can be detected. Related: https://github.com/systemd/systemd/issues/27604 Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'src/detect-virt/detect-virt.c')
-rw-r--r--src/detect-virt/detect-virt.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/detect-virt/detect-virt.c b/src/detect-virt/detect-virt.c
index 61b7005e7f..2a65a3e6b8 100644
--- a/src/detect-virt/detect-virt.c
+++ b/src/detect-virt/detect-virt.c
@@ -42,6 +42,8 @@ static int help(void) {
" --cvm Only detect whether we are run in a confidential VM\n"
" -q --quiet Don't output anything, just set return value\n"
" --list List all known and detectable types of virtualization\n"
+ " --list-cvm List all known and detectable types of confidential \n"
+ " virtualization\n"
"\nSee the %s for details.\n",
program_invocation_short_name,
link);
@@ -56,6 +58,7 @@ static int parse_argv(int argc, char *argv[]) {
ARG_PRIVATE_USERS,
ARG_LIST,
ARG_CVM,
+ ARG_LIST_CVM,
};
static const struct option options[] = {
@@ -68,6 +71,7 @@ static int parse_argv(int argc, char *argv[]) {
{ "quiet", no_argument, NULL, 'q' },
{ "cvm", no_argument, NULL, ARG_CVM },
{ "list", no_argument, NULL, ARG_LIST },
+ { "list-cvm", no_argument, NULL, ARG_LIST_CVM },
{}
};
@@ -114,6 +118,10 @@ static int parse_argv(int argc, char *argv[]) {
arg_mode = ONLY_CVM;
return 1;
+ case ARG_LIST_CVM:
+ DUMP_STRING_TABLE(confidential_virtualization, ConfidentialVirtualization, _CONFIDENTIAL_VIRTUALIZATION_MAX);
+ return 0;
+
case '?':
return -EINVAL;