• S
    SELinux: allow preemption between transition permission checks · 2c3c05db
    Stephen Smalley 提交于
    In security_get_user_sids, move the transition permission checks
    outside of the section holding the policy rdlock, and use the AVC to
    perform the checks, calling cond_resched after each one.  These
    changes should allow preemption between the individual checks and
    enable caching of the results.  It may however increase the overall
    time spent in the function in some cases, particularly in the cache
    miss case.
    
    The long term fix will be to take much of this logic to userspace by
    exporting additional state via selinuxfs, and ultimately deprecating
    and eliminating this interface from the kernel.
    Tested-by: NIngo Molnar <mingo@elte.hu>
    Signed-off-by: NStephen Smalley <sds@tycho.nsa.gov>
    Signed-off-by: NJames Morris <jmorris@namei.org>
    2c3c05db
hooks.c 120.8 KB