Home
last modified time | relevance | path

Searched refs:cred (Results 1 - 25 of 677) sorted by relevance

12345678910>>...28

/kernel/linux/linux-5.10/include/linux/
H A Dcred.h19 struct cred;
66 extern void set_groups(struct cred *, struct group_info *);
106 * task->cred points to the subjective context that defines the details of how
111 struct cred { struct
155 extern void __put_cred(struct cred *);
158 extern const struct cred *get_task_cred(struct task_struct *);
159 extern struct cred *cred_alloc_blank(void);
160 extern struct cred *prepare_creds(void);
161 extern struct cred *prepare_exec_creds(void);
162 extern int commit_creds(struct cred *);
184 __validate_creds(const struct cred *cred, const char *file, unsigned line) __validate_creds() argument
203 validate_creds(const struct cred *cred) validate_creds() argument
214 cap_ambient_invariant_ok(const struct cred *cred) cap_ambient_invariant_ok() argument
228 get_new_cred(struct cred *cred) get_new_cred() argument
247 get_cred(const struct cred *cred) get_cred() argument
257 get_cred_rcu(const struct cred *cred) get_cred_rcu() argument
282 struct cred *cred = (struct cred *) _cred; put_cred() local
[all...]
/kernel/linux/linux-5.10/kernel/
H A Dcred.c8 #include <linux/cred.h>
42 struct cred init_cred = {
66 static inline void set_cred_subscribers(struct cred *cred, int n) in set_cred_subscribers() argument
69 atomic_set(&cred->subscribers, n); in set_cred_subscribers()
73 static inline int read_cred_subscribers(const struct cred *cred) in read_cred_subscribers() argument
76 return atomic_read(&cred->subscribers); in read_cred_subscribers()
82 static inline void alter_cred_subscribers(const struct cred *_cred, int n) in alter_cred_subscribers()
85 struct cred *cre in alter_cred_subscribers() local
96 struct cred *cred = container_of(rcu, struct cred, rcu); put_cred_rcu() local
133 __put_cred(struct cred *cred) __put_cred() argument
160 struct cred *cred; exit_creds() local
196 const struct cred *cred; get_task_cred() local
793 creds_are_invalid(const struct cred *cred) creds_are_invalid() argument
804 dump_invalid_creds(const struct cred *cred, const char *label, const struct task_struct *tsk) dump_invalid_creds() argument
841 __invalid_creds(const struct cred *cred, const char *file, unsigned line) __invalid_creds() argument
[all...]
H A Duid16.c16 #include <linux/cred.h>
66 const struct cred *cred = current_cred(); in SYSCALL_DEFINE3() local
70 ruid = high2lowuid(from_kuid_munged(cred->user_ns, cred->uid)); in SYSCALL_DEFINE3()
71 euid = high2lowuid(from_kuid_munged(cred->user_ns, cred->euid)); in SYSCALL_DEFINE3()
72 suid = high2lowuid(from_kuid_munged(cred->user_ns, cred->suid)); in SYSCALL_DEFINE3()
89 const struct cred *cre in SYSCALL_DEFINE3() local
156 const struct cred *cred = current_cred(); SYSCALL_DEFINE2() local
[all...]
/kernel/linux/linux-6.6/include/linux/
H A Dcred.h19 struct cred;
65 extern void set_groups(struct cred *, struct group_info *);
105 * task->cred points to the subjective context that defines the details of how
110 struct cred { struct
148 extern void __put_cred(struct cred *);
151 extern const struct cred *get_task_cred(struct task_struct *);
152 extern struct cred *cred_alloc_blank(void);
153 extern struct cred *prepare_creds(void);
154 extern struct cred *prepare_exec_creds(void);
155 extern int commit_creds(struct cred *);
167 cap_ambient_invariant_ok(const struct cred *cred) cap_ambient_invariant_ok() argument
181 get_new_cred(struct cred *cred) get_new_cred() argument
200 get_cred(const struct cred *cred) get_cred() argument
209 get_cred_rcu(const struct cred *cred) get_cred_rcu() argument
233 struct cred *cred = (struct cred *) _cred; put_cred() local
[all...]
/kernel/linux/linux-5.10/net/sunrpc/
H A Dauth.c12 #include <linux/cred.h>
41 static struct cred machine_cred = {
52 const struct cred *rpc_machine_cred(void) in rpc_machine_cred()
264 rpcauth_unhash_cred_locked(struct rpc_cred *cred) in rpcauth_unhash_cred_locked() argument
266 if (!test_and_clear_bit(RPCAUTH_CRED_HASHED, &cred->cr_flags)) in rpcauth_unhash_cred_locked()
268 hlist_del_rcu(&cred->cr_hash); in rpcauth_unhash_cred_locked()
273 rpcauth_unhash_cred(struct rpc_cred *cred) in rpcauth_unhash_cred() argument
278 if (!test_bit(RPCAUTH_CRED_HASHED, &cred->cr_flags)) in rpcauth_unhash_cred()
280 cache_lock = &cred->cr_auth->au_credcache->lock; in rpcauth_unhash_cred()
282 ret = rpcauth_unhash_cred_locked(cred); in rpcauth_unhash_cred()
315 rpcauth_stringify_acceptor(struct rpc_cred *cred) rpcauth_stringify_acceptor() argument
329 struct rpc_cred *cred; rpcauth_destroy_credlist() local
339 rpcauth_lru_add_locked(struct rpc_cred *cred) rpcauth_lru_add_locked() argument
348 rpcauth_lru_add(struct rpc_cred *cred) rpcauth_lru_add() argument
358 rpcauth_lru_remove_locked(struct rpc_cred *cred) rpcauth_lru_remove_locked() argument
367 rpcauth_lru_remove(struct rpc_cred *cred) rpcauth_lru_remove() argument
385 struct rpc_cred *cred; rpcauth_clear_credcache() local
432 struct rpc_cred *cred, *next; rpcauth_prune_expired() local
522 struct rpc_cred *cred = NULL, rpcauth_lookup_credcache() local
585 const struct cred *cred = current_cred(); rpcauth_lookupcred() local
595 rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred, struct rpc_auth *auth, const struct rpc_credops *ops) rpcauth_init_cred() argument
646 rpcauth_bindcred(struct rpc_task *task, const struct cred *cred, int flags) rpcauth_bindcred() argument
683 put_rpccred(struct rpc_cred *cred) put_rpccred() argument
814 struct rpc_cred *cred = task->tk_rqstp->rq_cred; rpcauth_xmit_need_reencode() local
824 struct rpc_cred *cred; rpcauth_refreshcred() local
845 struct rpc_cred *cred = task->tk_rqstp->rq_cred; rpcauth_invalcred() local
854 struct rpc_cred *cred = task->tk_rqstp->rq_cred; rpcauth_uptodatecred() local
[all...]
H A Dauth_unix.c63 unx_destroy_cred(struct rpc_cred *cred) in unx_destroy_cred() argument
65 call_rcu(&cred->cr_rcu, unx_free_cred_callback); in unx_destroy_cred()
72 unx_match(struct auth_cred *acred, struct rpc_cred *cred, int flags) in unx_match() argument
77 if (cred->cr_cred == acred->cred) in unx_match()
80 if (!uid_eq(cred->cr_cred->fsuid, acred->cred->fsuid) || !gid_eq(cred->cr_cred->fsgid, acred->cred->fsgid)) in unx_match()
83 if (acred->cred in unx_match()
106 struct rpc_cred *cred = task->tk_rqstp->rq_cred; unx_marshal() local
[all...]
/kernel/linux/linux-6.6/net/sunrpc/
H A Dauth.c12 #include <linux/cred.h>
41 static struct cred machine_cred = {
49 const struct cred *rpc_machine_cred(void) in rpc_machine_cred()
261 rpcauth_unhash_cred_locked(struct rpc_cred *cred) in rpcauth_unhash_cred_locked() argument
263 if (!test_and_clear_bit(RPCAUTH_CRED_HASHED, &cred->cr_flags)) in rpcauth_unhash_cred_locked()
265 hlist_del_rcu(&cred->cr_hash); in rpcauth_unhash_cred_locked()
270 rpcauth_unhash_cred(struct rpc_cred *cred) in rpcauth_unhash_cred() argument
275 if (!test_bit(RPCAUTH_CRED_HASHED, &cred->cr_flags)) in rpcauth_unhash_cred()
277 cache_lock = &cred->cr_auth->au_credcache->lock; in rpcauth_unhash_cred()
279 ret = rpcauth_unhash_cred_locked(cred); in rpcauth_unhash_cred()
312 rpcauth_stringify_acceptor(struct rpc_cred *cred) rpcauth_stringify_acceptor() argument
326 struct rpc_cred *cred; rpcauth_destroy_credlist() local
336 rpcauth_lru_add_locked(struct rpc_cred *cred) rpcauth_lru_add_locked() argument
345 rpcauth_lru_add(struct rpc_cred *cred) rpcauth_lru_add() argument
355 rpcauth_lru_remove_locked(struct rpc_cred *cred) rpcauth_lru_remove_locked() argument
364 rpcauth_lru_remove(struct rpc_cred *cred) rpcauth_lru_remove() argument
382 struct rpc_cred *cred; rpcauth_clear_credcache() local
429 struct rpc_cred *cred, *next; rpcauth_prune_expired() local
519 struct rpc_cred *cred = NULL, rpcauth_lookup_credcache() local
582 const struct cred *cred = current_cred(); rpcauth_lookupcred() local
592 rpcauth_init_cred(struct rpc_cred *cred, const struct auth_cred *acred, struct rpc_auth *auth, const struct rpc_credops *ops) rpcauth_init_cred() argument
647 rpcauth_bindcred(struct rpc_task *task, const struct cred *cred, int flags) rpcauth_bindcred() argument
684 put_rpccred(struct rpc_cred *cred) put_rpccred() argument
820 struct rpc_cred *cred = task->tk_rqstp->rq_cred; rpcauth_xmit_need_reencode() local
830 struct rpc_cred *cred; rpcauth_refreshcred() local
851 struct rpc_cred *cred = task->tk_rqstp->rq_cred; rpcauth_invalcred() local
860 struct rpc_cred *cred = task->tk_rqstp->rq_cred; rpcauth_uptodatecred() local
[all...]
H A Dauth_unix.c71 unx_destroy_cred(struct rpc_cred *cred) in unx_destroy_cred() argument
73 call_rcu(&cred->cr_rcu, unx_free_cred_callback); in unx_destroy_cred()
80 unx_match(struct auth_cred *acred, struct rpc_cred *cred, int flags) in unx_match() argument
85 if (cred->cr_cred == acred->cred) in unx_match()
88 if (!uid_eq(cred->cr_cred->fsuid, acred->cred->fsuid) || !gid_eq(cred->cr_cred->fsgid, acred->cred->fsgid)) in unx_match()
91 if (acred->cred in unx_match()
114 struct rpc_cred *cred = task->tk_rqstp->rq_cred; unx_marshal() local
[all...]
/kernel/linux/linux-6.6/kernel/
H A Dcred.c11 #include <linux/cred.h>
45 struct cred init_cred = {
71 struct cred *cred = container_of(rcu, struct cred, rcu); in put_cred_rcu() local
73 kdebug("put_cred_rcu(%p)", cred); in put_cred_rcu()
75 if (atomic_long_read(&cred->usage) != 0) in put_cred_rcu()
77 cred, atomic_long_read(&cred->usage)); in put_cred_rcu()
79 security_cred_free(cred); in put_cred_rcu()
99 __put_cred(struct cred *cred) __put_cred() argument
120 struct cred *cred; exit_creds() local
151 const struct cred *cred; get_task_cred() local
[all...]
H A Duid16.c16 #include <linux/cred.h>
66 const struct cred *cred = current_cred(); in SYSCALL_DEFINE3() local
70 ruid = high2lowuid(from_kuid_munged(cred->user_ns, cred->uid)); in SYSCALL_DEFINE3()
71 euid = high2lowuid(from_kuid_munged(cred->user_ns, cred->euid)); in SYSCALL_DEFINE3()
72 suid = high2lowuid(from_kuid_munged(cred->user_ns, cred->suid)); in SYSCALL_DEFINE3()
89 const struct cred *cre in SYSCALL_DEFINE3() local
156 const struct cred *cred = current_cred(); SYSCALL_DEFINE2() local
[all...]
/kernel/linux/linux-5.10/security/keys/
H A Dprocess_keys.c77 const struct cred *cred = current_cred(); in look_up_user_keyrings() local
82 uid_t uid = from_kuid(user_ns, cred->user->uid); in look_up_user_keyrings()
106 uid_keyring = keyring_alloc(buf, cred->user->uid, INVALID_GID, in look_up_user_keyrings()
107 cred, user_keyring_perm, in look_up_user_keyrings()
128 session_keyring = keyring_alloc(buf, cred->user->uid, INVALID_GID, in look_up_user_keyrings()
129 cred, user_keyring_perm, in look_up_user_keyrings()
185 struct key *get_user_session_keyring_rcu(const struct cred *cred) in get_user_session_keyring_rcu() argument
187 struct key *reg_keyring = READ_ONCE(cred in get_user_session_keyring_rcu()
317 install_session_keyring_to_cred(struct cred *cred, struct key *keyring) install_session_keyring_to_cred() argument
426 const struct cred *cred = ctx->cred; search_cred_keyrings_rcu() local
557 const struct cred *cred = ctx->cred; search_process_keyrings_rcu() local
[all...]
H A Drequest_key_auth.c112 if (rka->cred) in free_request_key_auth()
113 put_cred(rka->cred); in free_request_key_auth()
166 const struct cred *cred = current_cred(); in request_key_auth_new() local
185 if (cred->request_key_auth) { in request_key_auth_new()
187 down_read(&cred->request_key_auth->sem); in request_key_auth_new()
192 &cred->request_key_auth->flags)) { in request_key_auth_new()
193 up_read(&cred->request_key_auth->sem); in request_key_auth_new()
198 irka = cred->request_key_auth->payload.data[0]; in request_key_auth_new()
199 rka->cred in request_key_auth_new()
[all...]
/kernel/linux/linux-6.6/security/keys/
H A Dprocess_keys.c77 const struct cred *cred = current_cred(); in look_up_user_keyrings() local
82 uid_t uid = from_kuid(user_ns, cred->user->uid); in look_up_user_keyrings()
106 uid_keyring = keyring_alloc(buf, cred->user->uid, INVALID_GID, in look_up_user_keyrings()
107 cred, user_keyring_perm, in look_up_user_keyrings()
128 session_keyring = keyring_alloc(buf, cred->user->uid, INVALID_GID, in look_up_user_keyrings()
129 cred, user_keyring_perm, in look_up_user_keyrings()
185 struct key *get_user_session_keyring_rcu(const struct cred *cred) in get_user_session_keyring_rcu() argument
187 struct key *reg_keyring = READ_ONCE(cred in get_user_session_keyring_rcu()
317 install_session_keyring_to_cred(struct cred *cred, struct key *keyring) install_session_keyring_to_cred() argument
426 const struct cred *cred = ctx->cred; search_cred_keyrings_rcu() local
557 const struct cred *cred = ctx->cred; search_process_keyrings_rcu() local
[all...]
H A Drequest_key_auth.c112 if (rka->cred) in free_request_key_auth()
113 put_cred(rka->cred); in free_request_key_auth()
166 const struct cred *cred = current_cred(); in request_key_auth_new() local
185 if (cred->request_key_auth) { in request_key_auth_new()
187 down_read(&cred->request_key_auth->sem); in request_key_auth_new()
192 &cred->request_key_auth->flags)) { in request_key_auth_new()
193 up_read(&cred->request_key_auth->sem); in request_key_auth_new()
198 irka = cred->request_key_auth->payload.data[0]; in request_key_auth_new()
199 rka->cred in request_key_auth_new()
[all...]
/kernel/linux/linux-5.10/fs/hmdfs/authority/
H A Dauthentication.c42 const struct cred *hmdfs_override_fsids(bool is_recv_thread) in hmdfs_override_fsids()
44 struct cred *cred = NULL; in hmdfs_override_fsids() local
45 const struct cred *old_cred = NULL; in hmdfs_override_fsids()
47 cred = prepare_creds(); in hmdfs_override_fsids()
48 if (!cred) in hmdfs_override_fsids()
51 cred->fsuid = is_recv_thread ? SYSTEM_UID : USER_DATA_RW_UID; in hmdfs_override_fsids()
52 cred->fsgid = is_recv_thread ? SYSTEM_GID : USER_DATA_RW_GID; in hmdfs_override_fsids()
54 old_cred = override_creds(cred); in hmdfs_override_fsids()
59 const struct cred *hmdfs_override_dir_fsid
63 struct cred *cred = NULL; hmdfs_override_dir_fsids() local
180 struct cred *cred = NULL; hmdfs_override_file_fsids() local
[all...]
H A Dauthentication.h12 #include <linux/cred.h>
22 const struct cred *saved_cred;
93 static inline void hmdfs_check_cred(const struct cred *cred) in hmdfs_check_cred() argument
95 if (cred->fsuid.val != OID_SYSTEM || cred->fsgid.val != OID_SYSTEM) in hmdfs_check_cred()
96 hmdfs_warning("uid is %u, gid is %u", cred->fsuid.val, in hmdfs_check_cred()
97 cred->fsgid.val); in hmdfs_check_cred()
222 static inline const struct cred *hmdfs_override_creds(const struct cred *ne
343 hmdfs_check_cred(const struct cred *cred) hmdfs_check_cred() argument
[all...]
/kernel/linux/linux-6.6/fs/hmdfs/authority/
H A Dauthentication.c42 const struct cred *hmdfs_override_fsids(bool is_recv_thread) in hmdfs_override_fsids()
44 struct cred *cred = NULL; in hmdfs_override_fsids() local
45 const struct cred *old_cred = NULL; in hmdfs_override_fsids()
47 cred = prepare_creds(); in hmdfs_override_fsids()
48 if (!cred) in hmdfs_override_fsids()
51 cred->fsuid = is_recv_thread ? SYSTEM_UID : USER_DATA_RW_UID; in hmdfs_override_fsids()
52 cred->fsgid = is_recv_thread ? SYSTEM_GID : USER_DATA_RW_GID; in hmdfs_override_fsids()
54 old_cred = override_creds(cred); in hmdfs_override_fsids()
59 const struct cred *hmdfs_override_dir_fsid
63 struct cred *cred = NULL; hmdfs_override_dir_fsids() local
180 struct cred *cred = NULL; hmdfs_override_file_fsids() local
[all...]
H A Dauthentication.h12 #include <linux/cred.h>
22 const struct cred *saved_cred;
93 static inline void hmdfs_check_cred(const struct cred *cred) in hmdfs_check_cred() argument
95 if (cred->fsuid.val != OID_SYSTEM || cred->fsgid.val != OID_SYSTEM) in hmdfs_check_cred()
96 hmdfs_warning("uid is %u, gid is %u", cred->fsuid.val, in hmdfs_check_cred()
97 cred->fsgid.val); in hmdfs_check_cred()
222 static inline const struct cred *hmdfs_override_creds(const struct cred *ne
343 hmdfs_check_cred(const struct cred *cred) hmdfs_check_cred() argument
[all...]
/kernel/linux/linux-5.10/security/
H A Dcommoncap.c52 * @cred: The credentials to use
65 int cap_capable(const struct cred *cred, struct user_namespace *targ_ns, in cap_capable() argument
70 /* See if cred has the capability in the target user namespace in cap_capable()
76 if (ns == cred->user_ns) in cap_capable()
77 return cap_raised(cred->cap_effective, cap) ? 0 : -EPERM; in cap_capable()
83 if (ns->level <= cred->user_ns->level) in cap_capable()
90 if ((ns->parent == cred->user_ns) && uid_eq(ns->owner, cred->euid)) in cap_capable()
136 const struct cred *cre in cap_ptrace_access_check() local
173 const struct cred *cred, *child_cred; cap_ptrace_traceme() local
202 const struct cred *cred; cap_capget() local
714 __is_real(kuid_t uid, struct cred *cred) __is_real() argument
717 __is_eff(kuid_t uid, struct cred *cred) __is_eff() argument
720 __is_suid(kuid_t uid, struct cred *cred) __is_suid() argument
[all...]
/kernel/linux/linux-6.6/security/
H A Dcommoncap.c53 * @cred: The credentials to use
66 int cap_capable(const struct cred *cred, struct user_namespace *targ_ns, in cap_capable() argument
71 /* See if cred has the capability in the target user namespace in cap_capable()
77 if (ns == cred->user_ns) in cap_capable()
78 return cap_raised(cred->cap_effective, cap) ? 0 : -EPERM; in cap_capable()
84 if (ns->level <= cred->user_ns->level) in cap_capable()
91 if ((ns->parent == cred->user_ns) && uid_eq(ns->owner, cred->euid)) in cap_capable()
137 const struct cred *cre in cap_ptrace_access_check() local
174 const struct cred *cred, *child_cred; cap_ptrace_traceme() local
203 const struct cred *cred; cap_capget() local
767 __is_real(kuid_t uid, struct cred *cred) __is_real() argument
770 __is_eff(kuid_t uid, struct cred *cred) __is_eff() argument
773 __is_suid(kuid_t uid, struct cred *cred) __is_suid() argument
[all...]
/kernel/linux/common_modules/container_escape_detection/include/
H A Dced_detection_points.h14 #include <linux/cred.h>
26 static inline void cred_info_record(struct cred_info *info, const struct cred *cred) in cred_info_record() argument
28 info->euid = cred->euid.val; in cred_info_record()
29 info->egid = cred->egid.val; in cred_info_record()
30 info->fsuid = cred->fsuid.val; in cred_info_record()
32 memcpy(&info->cap_effective, &cred->cap_effective, sizeof(kernel_cap_t)); in cred_info_record()
51 struct cred_info cred; member
65 const struct cred *cred in process_info_record() local
[all...]
/kernel/linux/linux-5.10/security/apparmor/include/
H A Dcred.h14 #include <linux/cred.h>
22 static inline struct aa_label *cred_label(const struct cred *cred) in cred_label() argument
24 struct aa_label **blob = cred->security + apparmor_blob_sizes.lbs_cred; in cred_label()
30 static inline void set_cred_label(const struct cred *cred, in set_cred_label() argument
33 struct aa_label **blob = cred->security + apparmor_blob_sizes.lbs_cred; in set_cred_label()
40 * aa_cred_raw_label - obtain cred's label
41 * @cred: cred t
47 aa_cred_raw_label(const struct cred *cred) aa_cred_raw_label() argument
61 aa_get_newest_cred_label(const struct cred *cred) aa_get_newest_cred_label() argument
[all...]
/kernel/linux/linux-6.6/security/apparmor/include/
H A Dcred.h14 #include <linux/cred.h>
22 static inline struct aa_label *cred_label(const struct cred *cred) in cred_label() argument
24 struct aa_label **blob = cred->security + apparmor_blob_sizes.lbs_cred; in cred_label()
30 static inline void set_cred_label(const struct cred *cred, in set_cred_label() argument
33 struct aa_label **blob = cred->security + apparmor_blob_sizes.lbs_cred; in set_cred_label()
40 * aa_cred_raw_label - obtain cred's label
41 * @cred: cred t
47 aa_cred_raw_label(const struct cred *cred) aa_cred_raw_label() argument
61 aa_get_newest_cred_label(const struct cred *cred) aa_get_newest_cred_label() argument
[all...]
/kernel/linux/linux-5.10/include/linux/sunrpc/
H A Dsvcauth.h19 #include <linux/cred.h>
36 static inline void init_svc_cred(struct svc_cred *cred) in init_svc_cred() argument
38 cred->cr_group_info = NULL; in init_svc_cred()
39 cred->cr_raw_principal = NULL; in init_svc_cred()
40 cred->cr_principal = NULL; in init_svc_cred()
41 cred->cr_targ_princ = NULL; in init_svc_cred()
42 cred->cr_gss_mech = NULL; in init_svc_cred()
45 static inline void free_svc_cred(struct svc_cred *cred) in free_svc_cred() argument
47 if (cred->cr_group_info) in free_svc_cred()
48 put_group_info(cred in free_svc_cred()
[all...]
/kernel/linux/linux-6.6/include/linux/sunrpc/
H A Dsvcauth.h19 #include <linux/cred.h>
36 static inline void init_svc_cred(struct svc_cred *cred) in init_svc_cred() argument
38 cred->cr_group_info = NULL; in init_svc_cred()
39 cred->cr_raw_principal = NULL; in init_svc_cred()
40 cred->cr_principal = NULL; in init_svc_cred()
41 cred->cr_targ_princ = NULL; in init_svc_cred()
42 cred->cr_gss_mech = NULL; in init_svc_cred()
45 static inline void free_svc_cred(struct svc_cred *cred) in free_svc_cred() argument
47 if (cred->cr_group_info) in free_svc_cred()
48 put_group_info(cred in free_svc_cred()
[all...]

Completed in 13 milliseconds

12345678910>>...28