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

Cole Robinson posted 30 patches 6 years, 4 months ago
[libvirt] [PATCH 27/30] security: selinux: Add is_toplevel to SetImageLabelInternal
Posted by Cole Robinson 6 years, 4 months ago
This will simplify future patches and make the logic easier to follow

Signed-off-by: Cole Robinson <crobinso@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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 27/30] security: selinux: Add is_toplevel to SetImageLabelInternal
Posted by Daniel Henrique Barboza 6 years, 4 months ago

On 10/7/19 6:49 PM, Cole Robinson wrote:
> This will simplify future patches and make the logic easier to follow
>
> Signed-off-by: Cole Robinson <crobinso@redhat.com>
> ---


Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.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) {

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list