@ -3640,8 +3640,38 @@ struct security_operations smack_ops = {
} ;
static __init void init_smack_know_list ( void )
static __init void init_smack_known _list ( void )
{
/*
* Initialize CIPSO locks
*/
spin_lock_init ( & smack_known_huh . smk_cipsolock ) ;
spin_lock_init ( & smack_known_hat . smk_cipsolock ) ;
spin_lock_init ( & smack_known_star . smk_cipsolock ) ;
spin_lock_init ( & smack_known_floor . smk_cipsolock ) ;
spin_lock_init ( & smack_known_invalid . smk_cipsolock ) ;
spin_lock_init ( & smack_known_web . smk_cipsolock ) ;
/*
* Initialize rule list locks
*/
mutex_init ( & smack_known_huh . smk_rules_lock ) ;
mutex_init ( & smack_known_hat . smk_rules_lock ) ;
mutex_init ( & smack_known_floor . smk_rules_lock ) ;
mutex_init ( & smack_known_star . smk_rules_lock ) ;
mutex_init ( & smack_known_invalid . smk_rules_lock ) ;
mutex_init ( & smack_known_web . smk_rules_lock ) ;
/*
* Initialize rule lists
*/
INIT_LIST_HEAD ( & smack_known_huh . smk_rules ) ;
INIT_LIST_HEAD ( & smack_known_hat . smk_rules ) ;
INIT_LIST_HEAD ( & smack_known_star . smk_rules ) ;
INIT_LIST_HEAD ( & smack_known_floor . smk_rules ) ;
INIT_LIST_HEAD ( & smack_known_invalid . smk_rules ) ;
INIT_LIST_HEAD ( & smack_known_web . smk_rules ) ;
/*
* Create the known labels list
*/
list_add ( & smack_known_huh . list , & smack_known_list ) ;
list_add ( & smack_known_hat . list , & smack_known_list ) ;
list_add ( & smack_known_star . list , & smack_known_list ) ;
@ -3676,16 +3706,8 @@ static __init int smack_init(void)
cred = ( struct cred * ) current - > cred ;
cred - > security = tsp ;
/* initialize the smack_know_list */
init_smack_know_list ( ) ;
/*
* Initialize locks
*/
spin_lock_init ( & smack_known_huh . smk_cipsolock ) ;
spin_lock_init ( & smack_known_hat . smk_cipsolock ) ;
spin_lock_init ( & smack_known_star . smk_cipsolock ) ;
spin_lock_init ( & smack_known_floor . smk_cipsolock ) ;
spin_lock_init ( & smack_known_invalid . smk_cipsolock ) ;
/* initialize the smack_known_list */
init_smack_known_list ( ) ;
/*
* Register with LSM