[libvirt] [PATCH 27/30] security: selinux: Add is_toplevel to SetImageLabelInternal

Cole Robinson crobinso at redhat.com
Mon Oct 7 21:49:41 UTC 2019


This will simplify future patches and make the logic easier to follow

Signed-off-by: Cole Robinson <crobinso at redhat.com>
---
 src/security/security_selinux.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/security/security_selinux.c b/src/security/security_selinux.c
index e384542c49..fd7dd080c1 100644
--- a/src/security/security_selinux.c
+++ b/src/security/security_selinux.c
@@ -1824,6 +1824,7 @@ virSecuritySELinuxSetImageLabelInternal(virSecurityManagerPtr mgr,
     virSecurityDeviceLabelDefPtr parent_seclabel = NULL;
     char *use_label = NULL;
     bool remember;
+    bool is_toplevel = parent == src;
     int ret;
 
     if (!src->path || !virStorageSourceIsLocalStorage(src))
@@ -1845,7 +1846,7 @@ virSecuritySELinuxSetImageLabelInternal(virSecurityManagerPtr mgr,
      * but the top layer, or read only image, or disk explicitly
      * marked as shared.
      */
-    remember = src == parent && !src->readonly && !src->shared;
+    remember = is_toplevel && !src->readonly && !src->shared;
 
     disk_seclabel = virStorageSourceGetSecurityLabelDef(src,
                                                         SECURITY_SELINUX_NAME);
@@ -1862,7 +1863,7 @@ virSecuritySELinuxSetImageLabelInternal(virSecurityManagerPtr mgr,
             return 0;
 
         use_label = parent_seclabel->label;
-    } else if (parent == src) {
+    } else if (is_toplevel) {
         if (src->shared) {
             use_label = data->file_context;
         } else if (src->readonly) {
-- 
2.23.0




More information about the libvir-list mailing list