« Previous | Next » 

Revision b0052d15

IDb0052d15315f672d30da5f0ea0a57b1a7c232a03

Added by Jan Kiszka almost 14 years ago

Fix cpu_unlink_tb race

If a signal hit after the env->exit_request check but before cpu_exec
updated env->current_tb, cpu_unlink_tb called from the signal hander
will not unlink the current TB. This may leave us stuck in a guest loop
if no further unlink is invoked.

Fix this by reordering current_tb update and exit_request check,
additionally enforcing the correct order via a compiler barrier.

Signed-off-by: Jan Kiszka <>
Acked-by: Paolo Bonzini <>
Reviewed-by: Marcelo Tosatti <>
Signed-off-by: Aurelien Jarno <>

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences