Lines Matching refs:cred

44 struct cred init_cred = {
70 struct cred *cred = container_of(rcu, struct cred, rcu); in put_cred_rcu() local
72 kdebug("put_cred_rcu(%p)", cred); in put_cred_rcu()
74 if (atomic_long_read(&cred->usage) != 0) in put_cred_rcu()
76 cred, atomic_long_read(&cred->usage)); in put_cred_rcu()
78 security_cred_free(cred); in put_cred_rcu()
79 key_put(cred->session_keyring); in put_cred_rcu()
80 key_put(cred->process_keyring); in put_cred_rcu()
81 key_put(cred->thread_keyring); in put_cred_rcu()
82 key_put(cred->request_key_auth); in put_cred_rcu()
83 if (cred->group_info) in put_cred_rcu()
84 put_group_info(cred->group_info); in put_cred_rcu()
85 free_uid(cred->user); in put_cred_rcu()
86 if (cred->ucounts) in put_cred_rcu()
87 put_ucounts(cred->ucounts); in put_cred_rcu()
88 put_user_ns(cred->user_ns); in put_cred_rcu()
89 kmem_cache_free(cred_jar, cred); in put_cred_rcu()
98 void __put_cred(struct cred *cred) in __put_cred() argument
100 kdebug("__put_cred(%p{%ld})", cred, in __put_cred()
101 atomic_long_read(&cred->usage)); in __put_cred()
103 BUG_ON(atomic_long_read(&cred->usage) != 0); in __put_cred()
104 BUG_ON(cred == current->cred); in __put_cred()
105 BUG_ON(cred == current->real_cred); in __put_cred()
107 if (cred->non_rcu) in __put_cred()
108 put_cred_rcu(&cred->rcu); in __put_cred()
110 call_rcu(&cred->rcu, put_cred_rcu); in __put_cred()
119 struct cred *real_cred, *cred; in exit_creds() local
121 kdebug("exit_creds(%u,%p,%p,{%ld})", tsk->pid, tsk->real_cred, tsk->cred, in exit_creds()
122 atomic_long_read(&tsk->cred->usage)); in exit_creds()
124 real_cred = (struct cred *) tsk->real_cred; in exit_creds()
127 cred = (struct cred *) tsk->cred; in exit_creds()
128 tsk->cred = NULL; in exit_creds()
130 if (real_cred == cred) { in exit_creds()
131 put_cred_many(cred, 2); in exit_creds()
134 put_cred(cred); in exit_creds()
153 const struct cred *get_task_cred(struct task_struct *task) in get_task_cred()
155 const struct cred *cred; in get_task_cred() local
160 cred = __task_cred((task)); in get_task_cred()
161 BUG_ON(!cred); in get_task_cred()
162 } while (!get_cred_rcu(cred)); in get_task_cred()
165 return cred; in get_task_cred()
173 struct cred *cred_alloc_blank(void) in cred_alloc_blank()
175 struct cred *new; in cred_alloc_blank()
206 struct cred *prepare_creds(void) in prepare_creds()
209 const struct cred *old; in prepare_creds()
210 struct cred *new; in prepare_creds()
218 old = task->cred; in prepare_creds()
219 memcpy(new, old, sizeof(struct cred)); in prepare_creds()
257 struct cred *prepare_exec_creds(void) in prepare_exec_creds()
259 struct cred *new; in prepare_exec_creds()
292 struct cred *new; in copy_creds()
301 !p->cred->thread_keyring && in copy_creds()
305 p->real_cred = get_cred_many(p->cred, 2); in copy_creds()
307 p->cred, atomic_long_read(&p->cred->usage)); in copy_creds()
344 p->cred = p->real_cred = get_cred(new); in copy_creds()
353 static bool cred_cap_issubset(const struct cred *set, const struct cred *subset) in cred_cap_issubset()
392 int commit_creds(struct cred *new) in commit_creds()
395 const struct cred *old = task->real_cred; in commit_creds()
400 BUG_ON(task->cred != old); in commit_creds()
439 rcu_assign_pointer(task->cred, new); in commit_creds()
469 void abort_creds(struct cred *new) in abort_creds()
493 int cred_fscmp(const struct cred *a, const struct cred *b) in cred_fscmp()
533 int set_cred_ucounts(struct cred *new) in set_cred_ucounts()
559 cred_jar = KMEM_CACHE(cred, in cred_init()
579 struct cred *prepare_kernel_cred(struct task_struct *daemon) in prepare_kernel_cred()
581 const struct cred *old; in prepare_kernel_cred()
582 struct cred *new; in prepare_kernel_cred()
638 int set_security_override(struct cred *new, u32 secid) in set_security_override()
654 int set_security_override_from_ctx(struct cred *new, const char *secctx) in set_security_override_from_ctx()
676 int set_create_files_as(struct cred *new, struct inode *inode) in set_create_files_as()