Skip to content
  • Peter Crosthwaite's avatar
    bdd459a0
    cpus: Don't kick un-realized cpus. · bdd459a0
    Peter Crosthwaite authored
    
    
    following a4649824, it's now possible for
    there to be attempts to take the BQL before CPUs have been realized in
    cases where a machine model inits peripherals before the first CPU.
    
    BQL lock aquisition kicks the first_cpu, leading to a segfault if this
    happens pre-realize. Guard the CPU kick routine to perform no action for
    a CPU that doesn't exist or doesn't have a thread yet.
    
    There was a fix to this with commit
    6b49809c, but the check there misses
    the case where the CPU has been inited and not realized. Strengthen the
    check to make sure that the first_cpu has a thread (i.e. it is
    realized) before allowing the kick.
    
    Signed-off-by: default avatarPeter Crosthwaite <peter.crosthwaite@xilinx.com>
    Message-Id: <1427107689-6946-1-git-send-email-peter.crosthwaite@xilinx.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    bdd459a0
    cpus: Don't kick un-realized cpus.
    Peter Crosthwaite authored
    
    
    following a4649824, it's now possible for
    there to be attempts to take the BQL before CPUs have been realized in
    cases where a machine model inits peripherals before the first CPU.
    
    BQL lock aquisition kicks the first_cpu, leading to a segfault if this
    happens pre-realize. Guard the CPU kick routine to perform no action for
    a CPU that doesn't exist or doesn't have a thread yet.
    
    There was a fix to this with commit
    6b49809c, but the check there misses
    the case where the CPU has been inited and not realized. Strengthen the
    check to make sure that the first_cpu has a thread (i.e. it is
    realized) before allowing the kick.
    
    Signed-off-by: default avatarPeter Crosthwaite <peter.crosthwaite@xilinx.com>
    Message-Id: <1427107689-6946-1-git-send-email-peter.crosthwaite@xilinx.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Loading