[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] libxl: Probe QEMU for -run-with user=user and use it
commit 1436593d5f8f7f700478e307d5198535ba69f88d Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> AuthorDate: Fri Aug 30 09:49:40 2024 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Fri Aug 30 18:14:11 2024 +0100 libxl: Probe QEMU for -run-with user=user and use it "-runas" is deprecated since QEMU 9.1 and will be remove in a future release. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Reviewed-by: Jason Andryuk <jason.andryuk@xxxxxxx> --- tools/libs/light/libxl_dm.c | 12 ++++++++++-- tools/libs/light/libxl_internal.h | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c index 15b157060f..1f2f5bd97a 100644 --- a/tools/libs/light/libxl_dm.c +++ b/tools/libs/light/libxl_dm.c @@ -2052,8 +2052,13 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, } if (state->dm_runas) { - flexarray_append(dm_args, "-runas"); - flexarray_append(dm_args, state->dm_runas); + if (qemu_opts->have_runwith_user) { + flexarray_append_pair(dm_args, "-run-with", + GCSPRINTF("user=%s", state->dm_runas)); + } else { + flexarray_append(dm_args, "-runas"); + flexarray_append(dm_args, state->dm_runas); + } } } flexarray_append(dm_args, NULL); @@ -3073,6 +3078,9 @@ static void device_model_probe_cmdline(libxl__egc *egc, if (!strcmp("chroot", libxl__json_object_get_string(o))) { dmss->qemu_opts.have_runwith_chroot = true; } + else if (!strcmp("user", libxl__json_object_get_string(o))) { + dmss->qemu_opts.have_runwith_user = true; + } } /* diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h index 0133c57e01..089a2f949c 100644 --- a/tools/libs/light/libxl_internal.h +++ b/tools/libs/light/libxl_internal.h @@ -4145,6 +4145,7 @@ typedef struct libxl__dm_spawn_state libxl__dm_spawn_state; typedef struct libxl__qemu_available_opts libxl__qemu_available_opts; struct libxl__qemu_available_opts { bool have_runwith_chroot; + bool have_runwith_user; }; typedef void libxl__dm_spawn_cb(libxl__egc *egc, libxl__dm_spawn_state*, -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |