Re: [Non-DoD Source] [PATCH userspace 0/4] Remove redundant rules when building policydb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/23/19 4:39 PM, jwcart2 wrote:
With these rules:

# Redundant 1
allow tp01 tpr1:cl01 { p01a p11a p01b p11b };
allow tp02 tpr1:cl01 { p01a p11a };
allow at02 tpr1:cl01 { p01a p11a p01b };

# Redundant 2
dontaudit tp01 tpr2:cl01 { p01a p11a p01b p11b };
dontaudit tp02 tpr2:cl01 { p01a p11a };
dontaudit at02 tpr2:cl01 { p01a p11a p01b };

# Redundant 3
allow at02 tpr3:cl01 { p01a p11a p01b };
if (b01) {
   allow tp01 tpr3:cl01 { p01a p11a p01b p11b };
   allow tp02 tpr3:cl01 { p01a p11a };
}

# Redundant 4
dontaudit at02 tpr4:cl01 { p01a p11a p01b };
if (b01) {
   dontaudit tp01 tpr4:cl01 { p01a p11a p01b p11b };
   dontaudit tp02 tpr4:cl01 { p01a p11a };
}


I see the following from sediff:

Allow Rules (0 Added, 1 Removed, 0 Modified)
    Removed Allow Rules: 1
       - allow tp02 tpr3:cl01 { p01a p11a }; [ b01 ]:True

Dontaudit Rules (0 Added, 1 Removed, 1 Modified)
    Removed Dontaudit Rules: 1
       - dontaudit tp01 tpr4:cl01 { p01a p01b p11a p11b }; [ b01 ]:True
    Modified Dontaudit Rules: 1
       * dontaudit tp01 tpr2:cl01 { p01b p11a p01a -p11b };

So it handles Redundant 1 just fine, but has problems with Redundant 2 which should be the same.

I don't remember what to expect from sediff for boolean rules. I had played around with removing rules with some of my earlier lua tools and I thought that sediff handled removing redundant rules from booleans, but I could be wrong.

Sediff doesn't do this optimization at this time. Rules inside a conditional block won't be considered redundant to unconditional rules.


--
Chris PeBenito



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux