• C
    security: don't fail if built without attr support · 55029d93
    Christian Ehrhardt 提交于
    If built without attr support removing any image will trigger
     qemuBlockRemoveImageMetadata (the one that emits the warning)
       -> qemuSecurityMoveImageMetadata
         -> virSecurityManagerMoveImageMetadata
           -> virSecurityDACMoveImageMetadata
             -> virSecurityDACMoveImageMetadataHelper
               -> virProcessRunInFork (spawns subprocess)
                 -> virSecurityMoveRememberedLabel
    
    In there due to !HAVE_LIBATTR virFileGetXAttrQuiet will return
    ENOSYS and from there the chain will error out.
    
    That is wrong and looks like:
      libvirtd[6320]: internal error: child reported (status=125):
      libvirtd[6320]: Unable to remove disk metadata on vm testguest from
      /var/lib/uvtool/libvirt/images/testguest.qcow (disk target vda)
    
    This change makes virSecurityDACMoveImageMetadataHelper and
    virSecuritySELinuxMoveImageMetadataHelper accept that
    error code gracefully and in that sense it is an extension of:
    5214b2f1 "security: Don't skip label restore on file systems lacking XATTRs"
    which does the same for other call chains into the virFile*XAttr functions.
    Signed-off-by: NChristian Ehrhardt <christian.ehrhardt@canonical.com>
    Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
    55029d93
security_selinux.c 109.5 KB