Re: Clarifications of LSM API

From: Crispin Cowan (crispin@private)
Date: Fri Jul 02 2004 - 07:01:11 PDT

  • Next message: Valdis.Kletnieks@private: "Re: Clarifications of LSM API"

    Tomas Olsson wrote:
    
    >What about possibilities to extend the interface by allowing the modules
    >to store blobs on their own, connected to the main blob? I guess it would
    >involve passing a blob ** in all hooks, or possibly just a locator function
    >pointer upon registration. Doable?
    >  
    >
    I think someone else already discussed that and may have implemented it. 
    Nothing stops cooperating modules from using the security blob as the 
    head of a list of blobs. This has the advantage of not requiring any 
    changes to the LSM interface per se (and so can work now) and the 
    disadvantage of actually requiring the modules to cooperate on blob 
    management.
    
    An LSM extension to manage the blobs would be  a step farther down the 
    path of directly supporting stacking. The cost is considerable 
    complexity enhancement to do blob management; think about removing a 
    blob from a list of blobs in a race-free way on an SMP kernel. The 
    benefit is that multiple modules could be stacked that require use of blobs.
    
    Which begs the question: does it *ever* make sense to use multiple 
    modules that use blobs? Off had, I say "no":
    
        * All the blob-using modules I know of are some kind of MAC system
          that is attaching state to a a process, and it never makes sense
          to compose these systems.
        * All the instances of multiple module composition that I do know of
          amount to one MAC system and one or more pathology blockers like
          TPE or OWLSM, plus the special case of POSIX Capabilities.
    
    Anyone have a counter-example where they actually want to compose two 
    blob-using modules?
    
    Crispin
    
    -- 
    Crispin Cowan, Ph.D.  http://immunix.com/~crispin/
    CTO, Immunix          http://immunix.com
    



    This archive was generated by hypermail 2b30 : Fri Jul 02 2004 - 12:52:48 PDT