lkml.org 
[lkml]   [2008]   [Jan]   [9]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    /
    FromDavid Howells <>
    SubjectRe: [PATCH 08/28] SECURITY: Allow kernel services to override LSM settings for task actions [try #2]
    DateWed, 09 Jan 2008 16:51:24 +0000
    Okay.  I can:
    
     (1) Have cachefilesd (the daemon) pass a security context string to the
         cachefiles kernel module, which can then convert it to a secID.  It'll
         require a security_secctx_to_secid() function, but I'm fairly certain I
         have a patch to add such kicking around somewhere.
    
     (2) Make security_task_kernel_act_as() take a task_security struct and a
         secID and just assign the latter to the former.  I'm not sure it makes
         sense to do any checks here, other than checking that under SELinux the
         secID is of SECCLASS_PROCESS class.
    
    However, I need to write a check that the cachefilesd daemon is permitted to
    nominate the secID it did.  Can someone tell me how to do this?  The obvious
    way to do this is to add another PROCESS__xxx security permit specifically for
    cachefiles, but that seems like a waste of a bit when there are only two spare
    bits.
    
    	avc_has_perm(daemon_tsec->sid, nominated_sid,
    		     SECCLASS_PROCESS, PROCESS__CACHEFILES_USE, NULL);
    
    Now, I recall the addition of another security class being mentioned, which
    presumably would give something like:
    
    	avc_has_perm(daemon_tsec->sid, nominated_sid,
    		     SECCLASS_CACHE, CACHE__USE_AS_OVERRIDE, NULL);
    
    And I assume this doesn't care if one, the other or both of the two SIDs
    mentioned are of SECCLASS_PROCESS rather than of SECCLASS_CACHE.
    
    David
    
    
    
    \
     
     \ /
      Last update: 2008-01-09 17:55    [from the cache]
    ©2003-2008