On 28.07.2025 22:12, Andrew Cooper wrote:
> On 28/07/2025 9:09 pm, Andrew Cooper wrote:
>> On 28/07/2025 8:52 pm, Stewart Hildebrand wrote:
>>> In vcpu_create after scheduler data is allocated, if
>>> vmtrace_alloc_buffer fails, it will jump to the wrong cleanup label
>>> resulting in a memory leak. Correct the label.
>>>
>>> Fixes: 217dd79ee292 ("xen/domain: Add vmtrace_size domain creation 
>>> parameter")
>>> Signed-off-by: Stewart Hildebrand <stewart.hildebr...@amd.com>
>> Urgh, sorry for breaking this.  Ultimately it comes from having two
>> different error handling schemes.
>>
>> This patch is probably ok to start with (and to backport), but a better
>> fix would be to handle sched and wq in vcpu_teardown().  That way we get
>> a single failure path that does the correct thing irrespective.
>>
>> An unrelated observation, but there's a waitqueue vcpu allocated in the
>> common path, but I was under the impression that only x86 had any need
>> for wqv (and I still need to get around to fixing introspection so we
>> can drop wait.c entirely).
> 
> P.S. we allocate full wqv for idle CPUs, and they definitely do not need
> it on any architecture.  Looks like there's some low hanging fruit here too.

Hmm, the only init_waitqueue_vcpu() that I see is in an "else" to an
"if ( is_idle_domain(d) )".

Jan

Reply via email to