]> xenbits.xensource.com Git - xen.git/commitdiff
xen: vm_event: do not do vm_event_op for an invalid domain
authorVolodymyr Babchuk <volodymyr_babchuk@epam.com>
Tue, 29 Apr 2025 09:40:40 +0000 (11:40 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 29 Apr 2025 09:40:40 +0000 (11:40 +0200)
A privileged domain can issue XEN_DOMCTL_vm_event_op with
op->domain == DOMID_INVALID. In this case vm_event_domctl()
function will get NULL as the first parameter and this will
cause hypervisor panic, as it tries to derefer this pointer.

Fix the issue by checking if valid domain is passed in.

Fixes: 48b84249459f ("xen/vm-event: Drop unused u_domctl parameter from vm_event_domctl()")
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
master commit: 6a884750f3b86a45ee5ffbd825c346fcbce86080
master date: 2025-04-08 09:36:38 +0200

xen/common/vm_event.c

index fbf1aa08481fe0853f840c59c9482f50db1af675..1666ff615f35bca17bd5560c636ca45997e38c5a 100644 (file)
@@ -600,6 +600,10 @@ int vm_event_domctl(struct domain *d, struct xen_domctl_vm_event_op *vec)
         return 0;
     }
 
+    /* All other subops need to target a real domain. */
+    if ( unlikely(d == NULL) )
+        return -ESRCH;
+
     rc = xsm_vm_event_control(XSM_PRIV, d, vec->mode, vec->op);
     if ( rc )
         return rc;