Skip to content
Snippets Groups Projects
  • Jeff Vander Stoep's avatar
    c75aa50d
    Add another extraneous neverallow rule to force attribute inclusion · c75aa50d
    Jeff Vander Stoep authored
    Due to the massively increased number of attributes in SELinux policy
    as part of the treble changes, we have had to remove attributes from
    policy for performance reasons.  Unfortunately, some attributes are
    required to be in policy to ensure that our neverallow rules are being
    properly enforced.  Usually this is not a problem, since neverallow rules
    indicate that an attribute should be kept, but this is not currently the
    case when the attribute is part of a negation in a group.
    
    This is particularly problematic with treble since some attributes may
    exist for HALs that have no implementation, and thus no types.  In
    particular, this has caused an issue with the neverallows added in our
    macros.  Add an extraneous neverallow rule to each of those auto-generated
    neverallow rules to make sure that they are not removed from policy, until
    the policy compiler is fixed to avoid this.  Also add corresponding rules
    for other types which have been removed due to no corresponding rules.
    
    Bug: 62658302
    Bug: 62999603
    Test: Build Marlin policy.
    Test: verify attribute exists in policy using sepolicy-analyze.
        sepolicy-analyze $OUT/vendor/etc/selinux/precompiled_sepolicy \
        attribute hal_tetheroffload_server
    Test: CTS neverallow tests pass.
        cts-tradefed run cts -m CtsSecurityHostTestCases -t \
        android.cts.security.SELinuxNeverallowRulesTest
    Change-Id: I62596ba8198ffdcbb4315df639a834e4becaf249
    c75aa50d
    History
    Add another extraneous neverallow rule to force attribute inclusion
    Jeff Vander Stoep authored
    Due to the massively increased number of attributes in SELinux policy
    as part of the treble changes, we have had to remove attributes from
    policy for performance reasons.  Unfortunately, some attributes are
    required to be in policy to ensure that our neverallow rules are being
    properly enforced.  Usually this is not a problem, since neverallow rules
    indicate that an attribute should be kept, but this is not currently the
    case when the attribute is part of a negation in a group.
    
    This is particularly problematic with treble since some attributes may
    exist for HALs that have no implementation, and thus no types.  In
    particular, this has caused an issue with the neverallows added in our
    macros.  Add an extraneous neverallow rule to each of those auto-generated
    neverallow rules to make sure that they are not removed from policy, until
    the policy compiler is fixed to avoid this.  Also add corresponding rules
    for other types which have been removed due to no corresponding rules.
    
    Bug: 62658302
    Bug: 62999603
    Test: Build Marlin policy.
    Test: verify attribute exists in policy using sepolicy-analyze.
        sepolicy-analyze $OUT/vendor/etc/selinux/precompiled_sepolicy \
        attribute hal_tetheroffload_server
    Test: CTS neverallow tests pass.
        cts-tradefed run cts -m CtsSecurityHostTestCases -t \
        android.cts.security.SELinuxNeverallowRulesTest
    Change-Id: I62596ba8198ffdcbb4315df639a834e4becaf249