Lines Matching defs:cred

11 #include <linux/cred.h>
43 struct cred *cred = container_of(rcu, struct cred, rcu);
45 kdebug("put_cred_rcu(%p)", cred);
47 if (atomic_long_read(&cred->usage) != 0)
49 cred, atomic_long_read(&cred->usage));
51 security_cred_free(cred);
52 key_put(cred->session_keyring);
53 key_put(cred->process_keyring);
54 key_put(cred->thread_keyring);
55 key_put(cred->request_key_auth);
56 if (cred->group_info)
57 put_group_info(cred->group_info);
58 free_uid(cred->user);
59 if (cred->ucounts)
60 put_ucounts(cred->ucounts);
61 put_user_ns(cred->user_ns);
62 kmem_cache_free(cred_jar, cred);
67 * @cred: The record to release
71 void __put_cred(struct cred *cred)
73 kdebug("__put_cred(%p{%ld})", cred,
74 atomic_long_read(&cred->usage));
76 BUG_ON(atomic_long_read(&cred->usage) != 0);
77 BUG_ON(cred == current->cred);
78 BUG_ON(cred == current->real_cred);
80 if (cred->non_rcu)
81 put_cred_rcu(&cred->rcu);
83 call_rcu(&cred->rcu, put_cred_rcu);
92 struct cred *real_cred, *cred;
94 kdebug("exit_creds(%u,%p,%p,{%ld})", tsk->pid, tsk->real_cred, tsk->cred,
95 atomic_long_read(&tsk->cred->usage));
97 real_cred = (struct cred *) tsk->real_cred;
100 cred = (struct cred *) tsk->cred;
101 tsk->cred = NULL;
103 if (real_cred == cred) {
104 put_cred_many(cred, 2);
107 put_cred(cred);
126 const struct cred *get_task_cred(struct task_struct *task)
128 const struct cred *cred;
133 cred = __task_cred((task));
134 BUG_ON(!cred);
135 } while (!get_cred_rcu(cred));
138 return cred;
146 struct cred *cred_alloc_blank(void)
148 struct cred *new;
179 struct cred *prepare_creds(void)
182 const struct cred *old;
183 struct cred *new;
191 old = task->cred;
192 memcpy(new, old, sizeof(struct cred));
230 struct cred *prepare_exec_creds(void)
232 struct cred *new;
265 struct cred *new;
274 !p->cred->thread_keyring &&
278 p->real_cred = get_cred_many(p->cred, 2);
280 p->cred, atomic_long_read(&p->cred->usage));
318 p->cred = p->real_cred = get_cred(new);
329 static bool cred_cap_issubset(const struct cred *set, const struct cred *subset)
368 int commit_creds(struct cred *new)
371 const struct cred *old = task->real_cred;
376 BUG_ON(task->cred != old);
416 rcu_assign_pointer(task->cred, new);
448 void abort_creds(struct cred *new)
472 int cred_fscmp(const struct cred *a, const struct cred *b)
512 int set_cred_ucounts(struct cred *new)
538 cred_jar = KMEM_CACHE(cred,
550 * @daemon is used to provide a base cred, with the security data derived from
558 struct cred *prepare_kernel_cred(struct task_struct *daemon)
560 const struct cred *old;
561 struct cred *new;
617 int set_security_override(struct cred *new, u32 secid)
632 int set_create_files_as(struct cred *new, struct inode *inode)