[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/domctl: Fix double domid_free in XEN_DOMCTL_createdomain error path
On Sat, Sep 13, 2025 at 10:44:39AM +0000, Oleksii Moisieiev wrote: > Remove redundant domid_free() call in the XEN_DOMCTL_createdomain error > handling path to prevent a double-free condition. > > When domain_create() fails, it internally calls _domain_destroy() during > its cleanup routine, which already invokes domid_free() to release the > allocated domain ID. The additional domid_free() call in the domctl error > path creates a double-free scenario, triggering an assertion failure in > domid.c: > > Assertion 'rc' failed at common/domid.c:84 > > The domain creation flow is: > 1. domid_alloc() allocates a domain ID > 2. domain_create() is called with the allocated ID > 3. If domain_create() fails: > a) domain_create() calls _domain_destroy() internally > b) _domain_destroy() calls domid_free() to release the ID > c) domctl incorrectly calls domid_free() again > > This double-free violates the domain ID management invariants and causes > system instability. The fix ensures domid_free() is called exactly once > per allocated domain ID, maintaining proper resource cleanup > semantics. > > Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@xxxxxxxx> Thanks a quick fix and sorry for the breakage. -- Denis
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |