Lines Matching refs:skp
401 void smk_insert_entry(struct smack_known *skp)
406 hash = full_name_hash(NULL, skp->smk_known, strlen(skp->smk_known));
409 hlist_add_head_rcu(&skp->smk_hashed, head);
410 list_add_rcu(&skp->list, &smack_known_list);
424 struct smack_known *skp;
429 hlist_for_each_entry_rcu(skp, head, smk_hashed)
430 if (strcmp(skp->smk_known, string) == 0)
431 return skp;
514 * @skp: pointer to the structure to fill
520 int smack_populate_secattr(struct smack_known *skp)
524 skp->smk_netlabel.attr.secid = skp->smk_secid;
525 skp->smk_netlabel.domain = skp->smk_known;
526 skp->smk_netlabel.cache = netlbl_secattr_cache_alloc(GFP_ATOMIC);
527 if (skp->smk_netlabel.cache != NULL) {
528 skp->smk_netlabel.flags |= NETLBL_SECATTR_CACHE;
529 skp->smk_netlabel.cache->free = NULL;
530 skp->smk_netlabel.cache->data = skp;
532 skp->smk_netlabel.flags |= NETLBL_SECATTR_SECID |
539 slen = strlen(skp->smk_known);
541 return smk_netlbl_mls(smack_cipso_direct, skp->smk_known,
542 &skp->smk_netlabel, slen);
544 return smk_netlbl_mls(smack_cipso_mapped, (char *)&skp->smk_secid,
545 &skp->smk_netlabel, sizeof(skp->smk_secid));
559 struct smack_known *skp;
569 skp = smk_find_entry(smack);
570 if (skp != NULL)
573 skp = kzalloc(sizeof(*skp), GFP_NOFS);
574 if (skp == NULL) {
575 skp = ERR_PTR(-ENOMEM);
579 skp->smk_known = smack;
580 skp->smk_secid = smack_next_secid++;
582 rc = smack_populate_secattr(skp);
584 INIT_LIST_HEAD(&skp->smk_rules);
585 mutex_init(&skp->smk_rules_lock);
590 smk_insert_entry(skp);
593 kfree(skp);
594 skp = ERR_PTR(rc);
600 return skp;
612 struct smack_known *skp;
615 list_for_each_entry_rcu(skp, &smack_known_list, list) {
616 if (skp->smk_secid == secid) {
618 return skp;
653 struct smack_known *skp = tsp->smk_task;
668 if (sklep->smk_label == skp) {