Skip to content

Commit

Permalink
LSM: Fix security_module_enable() error.
Browse files Browse the repository at this point in the history
We can set default LSM module to DAC (which means "enable no LSM module").
If default LSM module was set to DAC, security_module_enable() must return 0
unless overridden via boot time parameter.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Acked-by: Serge E. Hallyn <serge@hallyn.com>
Signed-off-by: James Morris <jmorris@namei.org>
  • Loading branch information
Tetsuo Handa authored and James Morris committed Oct 20, 2010
1 parent daa6d83 commit 065d78a
Showing 1 changed file with 2 additions and 10 deletions.
12 changes: 2 additions & 10 deletions security/security.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,20 +89,12 @@ __setup("security=", choose_lsm);
* Return true if:
* -The passed LSM is the one chosen by user at boot time,
* -or the passed LSM is configured as the default and the user did not
* choose an alternate LSM at boot time,
* -or there is no default LSM set and the user didn't specify a
* specific LSM and we're the first to ask for registration permission,
* -or the passed LSM is currently loaded.
* choose an alternate LSM at boot time.
* Otherwise, return false.
*/
int __init security_module_enable(struct security_operations *ops)
{
if (!*chosen_lsm)
strncpy(chosen_lsm, ops->name, SECURITY_NAME_MAX);
else if (strncmp(ops->name, chosen_lsm, SECURITY_NAME_MAX))
return 0;

return 1;
return !strcmp(ops->name, chosen_lsm);
}

/**
Expand Down

0 comments on commit 065d78a

Please sign in to comment.