libxl: Fix segfault in device_model_spawn_outcome

libxl__spawn_qdisk_backend() explicitly sets guest_config to NULL when
starting QEMU (the usual launch through libxl__spawn_local_dm() has a
guest_config though).

Bail early on a NULL guest_config/d_config.  This skips the QMP queries
for chardevs and VNC, but this xenpv QEMU instance isn't expected to
provide those - only qdisk (or 9pfs backends after an upcoming change).

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
This commit is contained in:
Jason Andryuk authored and Jan Beulich committed 2024-02-29 08:18:38 +01:00
1 parent 54fd7b9974
commit d4f3d35f04
1 file changed
+2 -2
+2 -2
View File
@@ -3172,8 +3172,8 @@ static void device_model_spawn_outcome(libxl__egc *egc,
/* Check if spawn failed */
if (rc) goto out;
if (d_config->b_info.device_model_version
/* d_config is NULL for xl devd/libxl__spawn_qemu_xenpv_backend(). */
if (d_config && d_config->b_info.device_model_version
== LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN) {
rc = libxl__ev_time_register_rel(ao, &dmss->timeout,
devise_model_postconfig_timeout,
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.