Messages in this thread | | | Date | Wed, 5 Mar 2008 18:55:13 +0200 | Subject | Re: [PATCH -v7 -rc3] Security: Introduce security= boot parameter | From | "Ahmed S. Darwish" <> |
| |
Hi Casey,
On Wed, Mar 05, 2008 at 08:33:34AM -0800, Casey Schaufler wrote: > > --- "Ahmed S. Darwish" <darwish.07@gmail.com> wrote: > ... > > > > Do not let SMACK register smackfs if it was not chosen on > > boot. Smackfs assumes that smack hooks are registered and > > the initial task security setup (swapper->security) is done. > > If the problem with initializing smackfs is because the > locks aren't initialized why not leave the lock initializations > in smack_init, and have them done before the check to see if the > smack LSM is going to get used? Really, we're only talking > about the case where a kernel is configured for testing or > development purposes, and the lock initialization can't > be considered a major impact in any case. >
Beside the locking initialization issue, there's the current->security issue. smackfs init code code access current->security in smk_unlbl_ambient().
As you know current->security may equal Null (Oops), or point to another LSM structure that preceeded us in registration.
The locking argument can't be applied here since we may override the other LSM tsk->security pointer this time.
Ofcourse all of the above points can be handleded by various if(current->security) checks + rechecking the read/write methods of each smackfs inode, but below only two lines will fix the problem from its roots ;):
+ if (!security_module_enable(&smack_ops)) + return 0;
Is there a problem in the current approach that I'm not aware of ?
You have your veto in this issue at the end ;)
Thank you,
--
"Better to light a candle, than curse the darkness"
Ahmed S. Darwish Homepage: http://darwish.07.googlepages.com Blog: http://darwish-07.blogspot.com
| |