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()
520 int smack_populate_secattr(struct smack_known *skp) in smack_populate_secattr() argument
524 skp->smk_netlabel.attr.secid = skp->smk_secid; in smack_populate_secattr()
525 skp->smk_netlabel.domain = skp->smk_known; in smack_populate_secattr()
526 skp->smk_netlabel.cache = netlbl_secattr_cache_alloc(GFP_ATOMIC); in smack_populate_secattr()
527 if (skp->smk_netlabel.cache != NULL) { in smack_populate_secattr()
528 skp->smk_netlabel.flags |= NETLBL_SECATTR_CACHE; in smack_populate_secattr()
529 skp->smk_netlabel.cache->free = NULL; in smack_populate_secattr()
530 skp->smk_netlabel.cache->data = skp; in smack_populate_secattr()
532 skp->smk_netlabel.flags |= NETLBL_SECATTR_SECID | in smack_populate_secattr()
539 slen = strlen(skp->smk_known); in smack_populate_secattr()
541 return smk_netlbl_mls(smack_cipso_direct, skp->smk_known, in smack_populate_secattr()
542 &skp->smk_netlabel, slen); in smack_populate_secattr()
544 return smk_netlbl_mls(smack_cipso_mapped, (char *)&skp->smk_secid, in smack_populate_secattr()
545 &skp->smk_netlabel, sizeof(skp->smk_secid)); in smack_populate_secattr()
559 struct smack_known *skp; in smk_import_entry() local
569 skp = smk_find_entry(smack); in smk_import_entry()
570 if (skp != NULL) in smk_import_entry()
573 skp = kzalloc(sizeof(*skp), GFP_NOFS); in smk_import_entry()
574 if (skp == NULL) { in smk_import_entry()
575 skp = ERR_PTR(-ENOMEM); in smk_import_entry()
579 skp->smk_known = smack; in smk_import_entry()
580 skp->smk_secid = smack_next_secid++; in smk_import_entry()
582 rc = smack_populate_secattr(skp); in smk_import_entry()
584 INIT_LIST_HEAD(&skp->smk_rules); in smk_import_entry()
585 mutex_init(&skp->smk_rules_lock); in smk_import_entry()
590 smk_insert_entry(skp); in smk_import_entry()
593 kfree(skp); in smk_import_entry()
594 skp = ERR_PTR(rc); in smk_import_entry()
600 return skp; in smk_import_entry()
612 struct smack_known *skp; in smack_from_secid() local
615 list_for_each_entry_rcu(skp, &smack_known_list, list) { in smack_from_secid()
616 if (skp->smk_secid == secid) { in smack_from_secid()
618 return skp; in smack_from_secid()
653 struct smack_known *skp = tsp->smk_task; in smack_privileged_cred() local
668 if (sklep->smk_label == skp) { in smack_privileged_cred()