On 03.09.2026 12:49, Oleksii Kurochko wrote: > On 9/3/26 11:20 AM, Jan Beulich wrote: >> On 27.08.2026 17:19, Oleksii Kurochko wrote: >>> Add common helpers domain_vintc_init() and domain_vintc_deinit() to >>> allocate and deallocate a virtual interrupt controller (vINTC) >>> structure and initialize basic virtual interrupt controller registers. >>> >>> domain_vintc_deinit() isn't called at the moment as arch_domain_destroy() >>> is implemented as stub at the moment. >>> >>> Signed-off-by: Oleksii Kurochko <[email protected]> >>> --- >>> Changes in v8: >>> - Add call of domain_vintc_deinit() to arch_domain_destroy(). >> >> Why only there? With ... >> >>> @@ -308,6 +310,9 @@ int arch_domain_create(struct domain *d, >>> if ( (rc = p2m_init(d, config)) != 0) >>> goto fail; >>> >>> + if ( (rc = domain_vintc_init(d)) ) >>> + goto fail; >>> + >>> return rc; >> >> ... anything added between the newly added code and the return, ... >> >>> fail: >> >> ... you will also need to call it here. Since it is (supposed to remain) >> idempotent, I think you'd better add that call right away (as long as >> domain_create() calls arch_domain_destroy() only when >> arch_domain_create() succeeded). > > arch_domain_destroy() (where domain_vintc_deinit() is called) is invoked > from arch_domain_create() if arch_domain_create() fails.
Ah yes, so ... > So, the mentioned case is already covered. Am I missing something? ... no, you aren't. I was; sorry. Jan
