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

Reply via email to