• D
    Fix potential deadlock across fork() in QEMU driver · 61b52d2e
    Daniel P. Berrange 提交于
    The hook scripts used by virCommand must be careful wrt
    accessing any mutexes that may have been held by other
    threads in the parent process. With the recent refactoring
    there are 2 potential flaws lurking, which will become real
    deadlock bugs once the global QEMU driver lock is removed.
    
    Remove use of the QEMU driver lock from the hook function
    by passing in the 'virQEMUDriverConfigPtr' instance directly.
    
    Add functions to the virSecurityManager to be invoked before
    and after fork, to ensure the mutex is held by the current
    thread. This allows it to be safely used in the hook script
    in the child process.
    Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
    61b52d2e
security_manager.c 19.5 KB