Lines Matching refs:skp
402 void smk_insert_entry(struct smack_known *skp) in smk_insert_entry() argument
407 hash = full_name_hash(NULL, skp->smk_known, strlen(skp->smk_known)); in smk_insert_entry()
410 hlist_add_head_rcu(&skp->smk_hashed, head); in smk_insert_entry()
411 list_add_rcu(&skp->list, &smack_known_list); in smk_insert_entry()
425 struct smack_known *skp; in smk_find_entry() local
430 hlist_for_each_entry_rcu(skp, head, smk_hashed) in smk_find_entry()
431 if (strcmp(skp->smk_known, string) == 0) in smk_find_entry()
432 return skp; in smk_find_entry()
523 int smack_populate_secattr(struct smack_known *skp) in smack_populate_secattr() argument
527 skp->smk_netlabel.attr.secid = skp->smk_secid; in smack_populate_secattr()
528 skp->smk_netlabel.domain = skp->smk_known; in smack_populate_secattr()
529 skp->smk_netlabel.cache = netlbl_secattr_cache_alloc(GFP_ATOMIC); in smack_populate_secattr()
530 if (skp->smk_netlabel.cache != NULL) { in smack_populate_secattr()
531 skp->smk_netlabel.flags |= NETLBL_SECATTR_CACHE; in smack_populate_secattr()
532 skp->smk_netlabel.cache->free = NULL; in smack_populate_secattr()
533 skp->smk_netlabel.cache->data = skp; in smack_populate_secattr()
535 skp->smk_netlabel.flags |= NETLBL_SECATTR_SECID | in smack_populate_secattr()
542 slen = strlen(skp->smk_known); in smack_populate_secattr()
544 return smk_netlbl_mls(smack_cipso_direct, skp->smk_known, in smack_populate_secattr()
545 &skp->smk_netlabel, slen); in smack_populate_secattr()
547 return smk_netlbl_mls(smack_cipso_mapped, (char *)&skp->smk_secid, in smack_populate_secattr()
548 &skp->smk_netlabel, sizeof(skp->smk_secid)); in smack_populate_secattr()
562 struct smack_known *skp; in smk_import_entry() local
572 skp = smk_find_entry(smack); in smk_import_entry()
573 if (skp != NULL) in smk_import_entry()
576 skp = kzalloc(sizeof(*skp), GFP_NOFS); in smk_import_entry()
577 if (skp == NULL) { in smk_import_entry()
578 skp = ERR_PTR(-ENOMEM); in smk_import_entry()
582 skp->smk_known = smack; in smk_import_entry()
583 skp->smk_secid = smack_next_secid++; in smk_import_entry()
585 rc = smack_populate_secattr(skp); in smk_import_entry()
587 INIT_LIST_HEAD(&skp->smk_rules); in smk_import_entry()
588 mutex_init(&skp->smk_rules_lock); in smk_import_entry()
593 smk_insert_entry(skp); in smk_import_entry()
596 kfree(skp); in smk_import_entry()
597 skp = ERR_PTR(rc); in smk_import_entry()
603 return skp; in smk_import_entry()
615 struct smack_known *skp; in smack_from_secid() local
618 list_for_each_entry_rcu(skp, &smack_known_list, list) { in smack_from_secid()
619 if (skp->smk_secid == secid) { in smack_from_secid()
621 return skp; in smack_from_secid()
656 struct smack_known *skp = tsp->smk_task; in smack_privileged_cred() local
671 if (sklep->smk_label == skp) { in smack_privileged_cred()