/kernel/time/ |
D | namespace.c | 59 static struct ucounts *inc_time_namespaces(struct user_namespace *ns) in inc_time_namespaces() argument 61 return inc_ucount(ns, current_euid(), UCOUNT_TIME_NAMESPACES); in inc_time_namespaces() 81 struct time_namespace *ns; in clone_time_ns() local 91 ns = kmalloc(sizeof(*ns), GFP_KERNEL); in clone_time_ns() 92 if (!ns) in clone_time_ns() 95 kref_init(&ns->kref); in clone_time_ns() 97 ns->vvar_page = alloc_page(GFP_KERNEL | __GFP_ZERO); in clone_time_ns() 98 if (!ns->vvar_page) in clone_time_ns() 101 err = ns_alloc_inum(&ns->ns); in clone_time_ns() 105 ns->ucounts = ucounts; in clone_time_ns() [all …]
|
D | sched_clock.c | 131 u64 ns; in update_sched_clock() local 137 ns = rd.epoch_ns + cyc_to_ns((cyc - rd.epoch_cyc) & rd.sched_clock_mask, rd.mult, rd.shift); in update_sched_clock() 139 rd.epoch_ns = ns; in update_sched_clock() 155 u64 res, wrap, new_mask, new_epoch, cyc, ns; in sched_clock_register() local 182 ns = rd.epoch_ns + cyc_to_ns((cyc - rd.epoch_cyc) & rd.sched_clock_mask, rd.mult, rd.shift); in sched_clock_register() 190 rd.epoch_ns = ns; in sched_clock_register()
|
D | timecounter.c | 72 u64 ns = (u64) cycles; in cc_cyc2ns_backwards() local 74 ns = ((ns * cc->mult) - frac) >> cc->shift; in cc_cyc2ns_backwards() 76 return ns; in cc_cyc2ns_backwards()
|
/kernel/ |
D | pid_namespace.c | 61 static struct ucounts *inc_pid_namespaces(struct user_namespace *ns) in inc_pid_namespaces() argument 63 return inc_ucount(ns, current_euid(), UCOUNT_PID_NAMESPACES); in inc_pid_namespaces() 74 struct pid_namespace *ns; in create_pid_namespace() local 91 ns = kmem_cache_zalloc(pid_ns_cachep, GFP_KERNEL); in create_pid_namespace() 92 if (ns == NULL) in create_pid_namespace() 95 idr_init(&ns->idr); in create_pid_namespace() 97 ns->pid_cachep = create_pid_cachep(level); in create_pid_namespace() 98 if (ns->pid_cachep == NULL) in create_pid_namespace() 101 err = ns_alloc_inum(&ns->ns); in create_pid_namespace() 104 ns->ns.ops = &pidns_operations; in create_pid_namespace() [all …]
|
D | utsname.c | 20 static struct ucounts *inc_uts_namespaces(struct user_namespace *ns) in inc_uts_namespaces() argument 22 return inc_ucount(ns, current_euid(), UCOUNT_UTS_NAMESPACES); in inc_uts_namespaces() 48 struct uts_namespace *ns; in clone_uts_ns() local 58 ns = create_uts_ns(); in clone_uts_ns() 59 if (!ns) in clone_uts_ns() 62 err = ns_alloc_inum(&ns->ns); in clone_uts_ns() 66 ns->ucounts = ucounts; in clone_uts_ns() 67 ns->ns.ops = &utsns_operations; in clone_uts_ns() 70 memcpy(&ns->name, &old_ns->name, sizeof(ns->name)); in clone_uts_ns() 71 ns->user_ns = get_user_ns(user_ns); in clone_uts_ns() [all …]
|
D | user_namespace.c | 28 struct user_namespace *ns, int cap_setid, 32 static struct ucounts *inc_user_namespaces(struct user_namespace *ns, kuid_t uid) in inc_user_namespaces() argument 34 return inc_ucount(ns, uid, UCOUNT_USER_NAMESPACES); in inc_user_namespaces() 71 struct user_namespace *ns, *parent_ns = new->user_ns; in create_user_ns() local 105 ns = kmem_cache_zalloc(user_ns_cachep, GFP_KERNEL); in create_user_ns() 106 if (!ns) in create_user_ns() 109 ns->parent_could_setfcap = cap_raised(new->cap_effective, CAP_SETFCAP); in create_user_ns() 110 ret = ns_alloc_inum(&ns->ns); in create_user_ns() 113 ns->ns.ops = &userns_operations; in create_user_ns() 115 atomic_set(&ns->count, 1); in create_user_ns() [all …]
|
D | ucount.c | 15 #define ucounts_hashfn(ns, uid) \ argument 16 hash_long((unsigned long)__kuid_val(uid) + (unsigned long)(ns), \ 18 #define ucounts_hashentry(ns, uid) \ argument 19 (ucounts_hashtable + ucounts_hashfn(ns, uid)) 81 bool setup_userns_sysctls(struct user_namespace *ns) in setup_userns_sysctls() argument 87 setup_sysctl_set(&ns->set, &set_root, set_is_seen); in setup_userns_sysctls() 92 tbl[i].data = &ns->ucount_max[i]; in setup_userns_sysctls() 94 ns->sysctls = __register_sysctl_table(&ns->set, "user", tbl); in setup_userns_sysctls() 96 if (!ns->sysctls) { in setup_userns_sysctls() 98 retire_sysctl_set(&ns->set); in setup_userns_sysctls() [all …]
|
D | pid.c | 58 .ns = &init_pid_ns, 82 .ns.inum = PROC_PID_INIT_INO, 84 .ns.ops = &pidns_operations, 107 struct pid_namespace *ns; in put_pid() local 112 ns = pid->numbers[pid->level].ns; in put_pid() 114 kmem_cache_free(ns->pid_cachep, pid); in put_pid() 115 put_pid_ns(ns); in put_pid() 135 struct pid_namespace *ns = upid->ns; in free_pid() local 136 switch (--ns->pid_allocated) { in free_pid() 143 wake_up_process(ns->child_reaper); in free_pid() [all …]
|
D | nsproxy.c | 193 void free_nsproxy(struct nsproxy *ns) in free_nsproxy() argument 195 if (ns->mnt_ns) in free_nsproxy() 196 put_mnt_ns(ns->mnt_ns); in free_nsproxy() 197 if (ns->uts_ns) in free_nsproxy() 198 put_uts_ns(ns->uts_ns); in free_nsproxy() 199 if (ns->ipc_ns) in free_nsproxy() 200 put_ipc_ns(ns->ipc_ns); in free_nsproxy() 201 if (ns->pid_ns_for_children) in free_nsproxy() 202 put_pid_ns(ns->pid_ns_for_children); in free_nsproxy() 203 if (ns->time_ns) in free_nsproxy() [all …]
|
D | capability.c | 295 struct user_namespace *ns, int cap) in has_ns_capability() argument 300 ret = security_capable(__task_cred(t), ns, cap, CAP_OPT_NONE); in has_ns_capability() 336 struct user_namespace *ns, int cap) in has_ns_capability_noaudit() argument 341 ret = security_capable(__task_cred(t), ns, cap, CAP_OPT_NOAUDIT); in has_ns_capability_noaudit() 364 static bool ns_capable_common(struct user_namespace *ns, in ns_capable_common() argument 375 capable = security_capable(current_cred(), ns, cap, opts); in ns_capable_common() 394 bool ns_capable(struct user_namespace *ns, int cap) in ns_capable() argument 396 return ns_capable_common(ns, cap, CAP_OPT_NONE); in ns_capable() 412 bool ns_capable_noaudit(struct user_namespace *ns, int cap) in ns_capable_noaudit() argument 414 return ns_capable_common(ns, cap, CAP_OPT_NOAUDIT); in ns_capable_noaudit() [all …]
|
D | acct.c | 91 struct pid_namespace *ns; member 144 static struct bsd_acct_struct *acct_get(struct pid_namespace *ns) in acct_get() argument 150 res = to_acct(READ_ONCE(ns->bacct)); in acct_get() 162 if (res != to_acct(READ_ONCE(ns->bacct))) { in acct_get() 177 cmpxchg(&acct->ns->bacct, pin, NULL); in acct_pin_kill() 197 struct pid_namespace *ns = task_active_pid_ns(current); in acct_on() local 244 acct->ns = ns; in acct_on() 252 old = xchg(&ns->bacct, &acct->pin); in acct_on() 297 void acct_exit_ns(struct pid_namespace *ns) in acct_exit_ns() argument 300 pin_kill(ns->bacct); in acct_exit_ns() [all …]
|
D | delayacct.c | 48 s64 ns = ktime_get_ns() - *start; in delayacct_end() local 51 if (ns > 0) { in delayacct_end() 53 *total += ns; in delayacct_end()
|
D | sys.c | 363 struct user_namespace *ns = current_user_ns(); in __sys_setregid() local 369 krgid = make_kgid(ns, rgid); in __sys_setregid() 370 kegid = make_kgid(ns, egid); in __sys_setregid() 429 struct user_namespace *ns = current_user_ns(); in __sys_setgid() local 435 kgid = make_kgid(ns, gid); in __sys_setgid() 514 struct user_namespace *ns = current_user_ns(); in __sys_setreuid() local 520 kruid = make_kuid(ns, ruid); in __sys_setreuid() 521 keuid = make_kuid(ns, euid); in __sys_setreuid() 590 struct user_namespace *ns = current_user_ns(); in __sys_setuid() local 596 kuid = make_kuid(ns, uid); in __sys_setuid() [all …]
|
D | user.c | 61 .ns.inum = PROC_USER_INIT_INO, 63 .ns.ops = &userns_operations,
|
D | ptrace.c | 283 static bool ptrace_has_cap(struct user_namespace *ns, unsigned int mode) in ptrace_has_cap() argument 286 return ns_capable_noaudit(ns, CAP_SYS_PTRACE); in ptrace_has_cap() 287 return ns_capable(ns, CAP_SYS_PTRACE); in ptrace_has_cap()
|
D | fork.c | 1812 struct pid_namespace *ns; in pidfd_show_fdinfo() local 1816 ns = proc_pid_ns(file_inode(m->file)->i_sb); in pidfd_show_fdinfo() 1817 nr = pid_nr_ns(pid, ns); in pidfd_show_fdinfo() 1832 for (i = ns->level + 1; i <= pid->level; i++) in pidfd_show_fdinfo()
|
/kernel/cgroup/ |
D | namespace.c | 12 static struct ucounts *inc_cgroup_namespaces(struct user_namespace *ns) in inc_cgroup_namespaces() argument 14 return inc_ucount(ns, current_euid(), UCOUNT_CGROUP_NAMESPACES); in inc_cgroup_namespaces() 30 ret = ns_alloc_inum(&new_ns->ns); in alloc_cgroup_ns() 36 new_ns->ns.ops = &cgroupns_operations; in alloc_cgroup_ns() 40 void free_cgroup_ns(struct cgroup_namespace *ns) in free_cgroup_ns() argument 42 put_css_set(ns->root_cset); in free_cgroup_ns() 43 dec_cgroup_namespaces(ns->ucounts); in free_cgroup_ns() 44 put_user_ns(ns->user_ns); in free_cgroup_ns() 45 ns_free_inum(&ns->ns); in free_cgroup_ns() 46 kfree(ns); in free_cgroup_ns() [all …]
|
D | cgroup-v1.c | 181 struct { enum cgroup_filetype type; struct pid_namespace *ns; } key; member 227 put_pid_ns(l->key.ns); in cgroup_pidlist_destroy_work_fn() 284 struct pid_namespace *ns = task_active_pid_ns(current); in cgroup_pidlist_find() local 289 if (l->key.type == type && l->key.ns == ns) in cgroup_pidlist_find() 319 l->key.ns = get_pid_ns(task_active_pid_ns(current)); in cgroup_pidlist_find_create() 561 if ((ctx->ns->user_ns != &init_user_ns) || in cgroup_release_agent_write() 1214 if (ctx->ns != &init_cgroup_ns) in cgroup1_root_to_use() 1236 if (!ns_capable(ctx->ns->user_ns, CAP_SYS_ADMIN)) in cgroup1_get_tree()
|
D | cgroup-internal.h | 49 struct cgroup_namespace *ns; member 71 struct cgroup_namespace *ns; member 234 struct cgroup_namespace *ns);
|
D | cgroup.c | 208 .ns.ops = &cgroupns_operations, 209 .ns.inum = PROC_CGROUP_INIT_INO, 2104 if (!ret && ctx->ns != &init_cgroup_ns) { in cgroup_do_get_tree() 2112 cgrp = cset_cgroup_from_root(ctx->ns->root_cset, ctx->root); in cgroup_do_get_tree() 2142 put_cgroup_ns(ctx->ns); in cgroup_fs_context_free() 2188 ctx->ns = current->nsproxy->cgroup_ns; in cgroup_init_fs_context() 2189 get_cgroup_ns(ctx->ns); in cgroup_init_fs_context() 2196 fc->user_ns = get_user_ns(ctx->ns->user_ns); in cgroup_init_fs_context() 2283 struct cgroup_namespace *ns) in cgroup_path_ns_locked() argument 2285 struct cgroup *root = cset_cgroup_from_root(ns->root_cset, cgrp->root); in cgroup_path_ns_locked() [all …]
|
/kernel/bpf/ |
D | task_iter.c | 13 struct pid_namespace *ns; member 24 static struct task_struct *task_seq_get_next(struct pid_namespace *ns, in task_seq_get_next() argument 33 pid = find_ge_pid(*tid, ns); in task_seq_get_next() 35 *tid = pid_nr_ns(pid, ns); in task_seq_get_next() 58 task = task_seq_get_next(info->common.ns, &info->tid, false); in task_seq_start() 75 task = task_seq_get_next(info->common.ns, &info->tid, false); in task_seq_next() 141 struct pid_namespace *ns = info->common.ns; in task_file_seq_get_next() local 157 curr_task = task_seq_get_next(ns, &curr_tid, true); in task_file_seq_get_next() 290 common->ns = get_pid_ns(task_active_pid_ns(current)); in init_seq_pidns() 298 put_pid_ns(common->ns); in fini_seq_pidns()
|
D | offload.c | 272 struct ns_common *ns; in bpf_prog_offload_info_fill_ns() local 282 ns = &net->ns; in bpf_prog_offload_info_fill_ns() 285 ns = NULL; in bpf_prog_offload_info_fill_ns() 291 return ns; in bpf_prog_offload_info_fill_ns() 499 struct ns_common *ns; in bpf_map_offload_info_fill_ns() local 509 ns = &net->ns; in bpf_map_offload_info_fill_ns() 512 ns = NULL; in bpf_map_offload_info_fill_ns() 518 return ns; in bpf_map_offload_info_fill_ns()
|
/kernel/sched/ |
D | fair.c | 1577 struct numa_stats *ns) in numa_classify() argument 1579 if ((ns->nr_running > ns->weight) && in numa_classify() 1580 (((ns->compute_capacity * 100) < (ns->util * imbalance_pct)) || in numa_classify() 1581 ((ns->compute_capacity * imbalance_pct) < (ns->runnable * 100)))) in numa_classify() 1584 if ((ns->nr_running < ns->weight) || in numa_classify() 1585 (((ns->compute_capacity * 100) > (ns->util * imbalance_pct)) && in numa_classify() 1586 ((ns->compute_capacity * imbalance_pct) > (ns->runnable * 100)))) in numa_classify() 1624 struct numa_stats *ns, int nid, in update_numa_stats() argument 1629 memset(ns, 0, sizeof(*ns)); in update_numa_stats() 1630 ns->idle_cpu = -1; in update_numa_stats() [all …]
|
D | cputime.c | 288 u64 ns; in read_sum_exec_runtime() local 293 ns = t->se.sum_exec_runtime; in read_sum_exec_runtime() 296 return ns; in read_sum_exec_runtime()
|
D | debug.c | 925 void proc_sched_show_task(struct task_struct *p, struct pid_namespace *ns, in proc_sched_show_task() argument 930 SEQ_printf(m, "%s (%d, #threads: %d)\n", p->comm, task_pid_nr_ns(p, ns), in proc_sched_show_task()
|