mirror of https://github.com/xemu-project/xemu.git
plugins: Ensure vCPU index is assigned in init/exit hooks
Since vCPUs are hashed by their index, this index can't be uninitialized (UNASSIGNED_CPU_INDEX). Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Message-Id: <20240606124010.2460-2-philmd@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240705084047.857176-28-alex.bennee@linaro.org>
This commit is contained in:
parent
3b8550c955
commit
2089a2e5bb
|
@ -245,6 +245,7 @@ void qemu_plugin_vcpu_init_hook(CPUState *cpu)
|
|||
{
|
||||
bool success;
|
||||
|
||||
assert(cpu->cpu_index != UNASSIGNED_CPU_INDEX);
|
||||
qemu_rec_mutex_lock(&plugin.lock);
|
||||
plugin.num_vcpus = MAX(plugin.num_vcpus, cpu->cpu_index + 1);
|
||||
plugin_cpu_update__locked(&cpu->cpu_index, NULL, NULL);
|
||||
|
@ -263,6 +264,7 @@ void qemu_plugin_vcpu_exit_hook(CPUState *cpu)
|
|||
|
||||
plugin_vcpu_cb__simple(cpu, QEMU_PLUGIN_EV_VCPU_EXIT);
|
||||
|
||||
assert(cpu->cpu_index != UNASSIGNED_CPU_INDEX);
|
||||
qemu_rec_mutex_lock(&plugin.lock);
|
||||
success = g_hash_table_remove(plugin.cpu_ht, &cpu->cpu_index);
|
||||
g_assert(success);
|
||||
|
|
Loading…
Reference in New Issue