• C
    SELinux: validate kernel object classes and permissions · b94c7e67
    Chad Sellers 提交于
    This is a new object class and permission validation scheme that validates
    against the defined kernel headers. This scheme allows extra classes
    and permissions that do not conflict with the kernel definitions to be
    added to the policy. This validation is now done for all policy loads,
    not just subsequent loads after the first policy load.
    
    The implementation walks the three structrures containing the defined
    object class and permission values and ensures their values are the
    same in the policy being loaded. This includes verifying the object
    classes themselves, the permissions they contain, and the permissions
    they inherit from commons. Classes or permissions that are present in the
    kernel but missing from the policy cause a warning (printed to KERN_INFO)
    to be printed, but do not stop the policy from loading, emulating current
    behavior. Any other inconsistencies cause the load to fail.
    Signed-off-by: NChad Sellers <csellers@tresys.com>
    Acked-by: NStephen Smalley <sds@tycho.nsa.gov>
    Signed-off-by: NJames Morris <jmorris@namei.org>
    b94c7e67
services.c 65.8 KB