Skip to content
  • Kevin Wolf's avatar
    async: Allow nested qemu_bh_poll calls · 648fb0ea
    Kevin Wolf authored
    qemu may segfault when a BH handler first deletes a BH and then (possibly
    indirectly) calls a nested qemu_bh_poll(). This is because the inner instance
    frees the BH and deletes it from the list that the outer one processes.
    
    This patch deletes BHs only in the outermost qemu_bh_poll instance.
    
    Commit 7887f620
    
     already tried to achieve the same, but it assumed that the BH
    handler would only delete its own BH. With a nested qemu_bh_poll(), this isn't
    guaranteed, so that commit wasn't enough. Hope this one fixes it for real.
    
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    648fb0ea