Security: Introduce security= boot parameter
Add the security= boot parameter. This is done to avoid LSM registration clashes in case of more than one bult-in module. User can choose a security module to enable at boot. If no security= boot parameter is specified, only the first LSM asking for registration will be loaded. An invalid security module name will be treated as if no module has been chosen. LSM modules must check now if they are allowed to register by calling security_module_enable(ops) first. Modify SELinux and SMACK to do so. 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. Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com> Acked-by: James Morris <jmorris@namei.org>
This commit is contained in:
committed by
James Morris
parent
04305e4aff
commit
076c54c5bc
@@ -965,12 +965,21 @@ static struct vfsmount *smackfs_mount;
|
||||
*
|
||||
* register the smackfs
|
||||
*
|
||||
* Returns 0 unless the registration fails.
|
||||
* Do not register smackfs if Smack wasn't enabled
|
||||
* on boot. We can not put this method normally under the
|
||||
* smack_init() code path since the security subsystem get
|
||||
* initialized before the vfs caches.
|
||||
*
|
||||
* Returns true if we were not chosen on boot or if
|
||||
* we were chosen and filesystem registration succeeded.
|
||||
*/
|
||||
static int __init init_smk_fs(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (!security_module_enable(&smack_ops))
|
||||
return 0;
|
||||
|
||||
err = register_filesystem(&smk_fs_type);
|
||||
if (!err) {
|
||||
smackfs_mount = kern_mount(&smk_fs_type);
|
||||
|
Reference in New Issue
Block a user