• D
    Add call to sanlock_restrict() in QEMU lock driver · ebfb8c42
    Daniel P. Berrange 提交于
    In between fork and exec, a connection to sanlock is acquired
    and the socket file descriptor is intionally leaked to the
    child process. sanlock watches this FD for POLL_HANGUP to
    detect when QEMU has exited. We don't want a rogus/compromised
    QEMU from issuing sanlock RPC calls on the leaked FD though,
    since that could be used to DOS other guests. By calling
    sanlock_restrict() on the socket before exec() we can lock
    it down.
    
    * configure.ac: Check for sanlock_restrict API
    * src/locking/domain_lock.c: Restrict lock acquired in
      process startup phase
    * src/locking/lock_driver.h: Add VIR_LOCK_MANAGER_ACQUIRE_RESTRICT
    * src/locking/lock_driver_sanlock.c: Add call to sanlock_restrict
      when requested by VIR_LOCK_MANAGER_ACQUIRE_RESTRICT flag
    ebfb8c42
lock_driver.h 9.3 KB