/kernel/ |
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 | pid_namespace.c | 75 struct pid_namespace *ns = container_of(work, struct pid_namespace, proc_work); in proc_cleanup_work() local 76 pid_ns_release_proc(ns); in proc_cleanup_work() 82 static struct ucounts *inc_pid_namespaces(struct user_namespace *ns) in inc_pid_namespaces() argument 84 return inc_ucount(ns, current_euid(), UCOUNT_PID_NAMESPACES); in inc_pid_namespaces() 95 struct pid_namespace *ns; in create_pid_namespace() local 109 ns = kmem_cache_zalloc(pid_ns_cachep, GFP_KERNEL); in create_pid_namespace() 110 if (ns == NULL) in create_pid_namespace() 113 ns->pidmap[0].page = kzalloc(PAGE_SIZE, GFP_KERNEL); in create_pid_namespace() 114 if (!ns->pidmap[0].page) in create_pid_namespace() 117 ns->pid_cachep = create_pid_cachep(level + 1); in create_pid_namespace() [all …]
|
D | user_namespace.c | 30 struct user_namespace *ns, int cap_setid, 34 static struct ucounts *inc_user_namespaces(struct user_namespace *ns, kuid_t uid) in inc_user_namespaces() argument 36 return inc_ucount(ns, uid, UCOUNT_USER_NAMESPACES); in inc_user_namespaces() 73 struct user_namespace *ns, *parent_ns = new->user_ns; in create_user_ns() local 107 ns = kmem_cache_zalloc(user_ns_cachep, GFP_KERNEL); in create_user_ns() 108 if (!ns) in create_user_ns() 111 ret = ns_alloc_inum(&ns->ns); in create_user_ns() 114 ns->ns.ops = &userns_operations; in create_user_ns() 116 atomic_set(&ns->count, 1); in create_user_ns() 118 ns->parent = parent_ns; in create_user_ns() [all …]
|
D | pid.c | 42 #define pid_hashfn(nr, ns) \ argument 43 hash_long((unsigned long)nr + (unsigned long)ns, pidhash_shift) 82 .ns.inum = PROC_PID_INIT_INO, 84 .ns.ops = &pidns_operations, 108 struct pidmap *map = upid->ns->pidmap + nr / BITS_PER_PAGE; in free_pidmap() 239 struct pid_namespace *ns; in put_pid() local 244 ns = pid->numbers[pid->level].ns; in put_pid() 247 kmem_cache_free(ns->pid_cachep, pid); in put_pid() 248 put_pid_ns(ns); in put_pid() 268 struct pid_namespace *ns = upid->ns; in free_pid() local [all …]
|
D | ucount.c | 18 #define ucounts_hashfn(ns, uid) \ argument 19 hash_long((unsigned long)__kuid_val(uid) + (unsigned long)(ns), \ 21 #define ucounts_hashentry(ns, uid) \ argument 22 (ucounts_hashtable + ucounts_hashfn(ns, uid)) 81 bool setup_userns_sysctls(struct user_namespace *ns) in setup_userns_sysctls() argument 85 setup_sysctl_set(&ns->set, &set_root, set_is_seen); in setup_userns_sysctls() 90 tbl[i].data = &ns->ucount_max[i]; in setup_userns_sysctls() 92 ns->sysctls = __register_sysctl_table(&ns->set, "user", tbl); in setup_userns_sysctls() 94 if (!ns->sysctls) { in setup_userns_sysctls() 96 retire_sysctl_set(&ns->set); in setup_userns_sysctls() [all …]
|
D | nsproxy.c | 172 void free_nsproxy(struct nsproxy *ns) in free_nsproxy() argument 174 if (ns->mnt_ns) in free_nsproxy() 175 put_mnt_ns(ns->mnt_ns); in free_nsproxy() 176 if (ns->uts_ns) in free_nsproxy() 177 put_uts_ns(ns->uts_ns); in free_nsproxy() 178 if (ns->ipc_ns) in free_nsproxy() 179 put_ipc_ns(ns->ipc_ns); in free_nsproxy() 180 if (ns->pid_ns_for_children) in free_nsproxy() 181 put_pid_ns(ns->pid_ns_for_children); in free_nsproxy() 182 put_cgroup_ns(ns->cgroup_ns); in free_nsproxy() [all …]
|
D | capability.c | 296 struct user_namespace *ns, int cap) in has_ns_capability() argument 301 ret = security_capable(__task_cred(t), ns, cap); in has_ns_capability() 336 struct user_namespace *ns, int cap) in has_ns_capability_noaudit() argument 341 ret = security_capable_noaudit(__task_cred(t), ns, cap); in has_ns_capability_noaudit() 364 static bool ns_capable_common(struct user_namespace *ns, int cap, bool audit) in ns_capable_common() argument 373 capable = audit ? security_capable(current_cred(), ns, cap) : in ns_capable_common() 374 security_capable_noaudit(current_cred(), ns, cap); in ns_capable_common() 393 bool ns_capable(struct user_namespace *ns, int cap) in ns_capable() argument 395 return ns_capable_common(ns, cap, true); in ns_capable() 411 bool ns_capable_noaudit(struct user_namespace *ns, int cap) in ns_capable_noaudit() argument [all …]
|
D | acct.c | 88 struct pid_namespace *ns; member 141 static struct bsd_acct_struct *acct_get(struct pid_namespace *ns) in acct_get() argument 147 res = to_acct(ACCESS_ONCE(ns->bacct)); in acct_get() 159 if (res != to_acct(ACCESS_ONCE(ns->bacct))) { in acct_get() 174 cmpxchg(&acct->ns->bacct, pin, NULL); in acct_pin_kill() 194 struct pid_namespace *ns = task_active_pid_ns(current); in acct_on() local 241 acct->ns = ns; in acct_on() 249 old = xchg(&ns->bacct, &acct->pin); in acct_on() 294 void acct_exit_ns(struct pid_namespace *ns) in acct_exit_ns() argument 297 pin_kill(ns->bacct); in acct_exit_ns() [all …]
|
D | cgroup.c | 228 .ns.ops = &cgroupns_operations, 229 .ns.inum = PROC_CGROUP_INIT_INO, 2089 struct cgroup_namespace *ns = current->nsproxy->cgroup_ns; in cgroup_mount() local 2098 get_cgroup_ns(ns); in cgroup_mount() 2101 if (!ns_capable(ns->user_ns, CAP_SYS_ADMIN)) { in cgroup_mount() 2102 put_cgroup_ns(ns); in cgroup_mount() 2116 put_cgroup_ns(ns); in cgroup_mount() 2223 if (ns != &init_cgroup_ns) { in cgroup_mount() 2247 put_cgroup_ns(ns); in cgroup_mount() 2260 if (!IS_ERR(dentry) && ns != &init_cgroup_ns) { in cgroup_mount() [all …]
|
D | sys.c | 333 struct user_namespace *ns = current_user_ns(); in SYSCALL_DEFINE2() local 339 krgid = make_kgid(ns, rgid); in SYSCALL_DEFINE2() 340 kegid = make_kgid(ns, egid); in SYSCALL_DEFINE2() 390 struct user_namespace *ns = current_user_ns(); in SYSCALL_DEFINE1() local 396 kgid = make_kgid(ns, gid); in SYSCALL_DEFINE1() 466 struct user_namespace *ns = current_user_ns(); in SYSCALL_DEFINE2() local 472 kruid = make_kuid(ns, ruid); in SYSCALL_DEFINE2() 473 keuid = make_kuid(ns, euid); in SYSCALL_DEFINE2() 537 struct user_namespace *ns = current_user_ns(); in SYSCALL_DEFINE1() local 543 kuid = make_kuid(ns, uid); in SYSCALL_DEFINE1() [all …]
|
D | delayacct.c | 54 s64 ns = ktime_get_ns() - *start; in delayacct_end() local 57 if (ns > 0) { in delayacct_end() 59 *total += ns; in delayacct_end()
|
D | user.c | 54 .ns.inum = PROC_USER_INIT_INO, 56 .ns.ops = &userns_operations,
|
D | ptrace.c | 259 static int ptrace_has_cap(struct user_namespace *ns, unsigned int mode) in ptrace_has_cap() argument 262 return has_ns_capability_noaudit(current, ns, CAP_SYS_PTRACE); in ptrace_has_cap() 264 return has_ns_capability(current, ns, CAP_SYS_PTRACE); in ptrace_has_cap()
|
D | cpuset.c | 2744 int proc_cpuset_show(struct seq_file *m, struct pid_namespace *ns, in proc_cpuset_show() argument
|
/kernel/time/ |
D | sched_clock.c | 145 u64 ns; in update_sched_clock() local 151 ns = rd.epoch_ns + cyc_to_ns((cyc - rd.epoch_cyc) & rd.sched_clock_mask, rd.mult, rd.shift); in update_sched_clock() 153 rd.epoch_ns = ns; in update_sched_clock() 170 u64 res, wrap, new_mask, new_epoch, cyc, ns; in sched_clock_register() local 196 ns = rd.epoch_ns + cyc_to_ns((cyc - rd.epoch_cyc) & rd.sched_clock_mask, rd.mult, rd.shift); in sched_clock_register() 204 rd.epoch_ns = ns; in sched_clock_register()
|
D | timecounter.c | 85 u64 ns = (u64) cycles; in cc_cyc2ns_backwards() local 87 ns = ((ns * cc->mult) - frac) >> cc->shift; in cc_cyc2ns_backwards() 89 return ns; in cc_cyc2ns_backwards()
|
/kernel/sched/ |
D | stats.h | 261 unsigned long long ns) in account_group_exec_runtime() argument 268 atomic64_add(ns, &cputimer->cputime_atomic.sum_exec_runtime); in account_group_exec_runtime()
|
D | cputime.c | 334 u64 ns; in read_sum_exec_runtime() local 339 ns = t->se.sum_exec_runtime; in read_sum_exec_runtime() 342 return ns; in read_sum_exec_runtime()
|
D | fair.c | 1411 static void update_numa_stats(struct numa_stats *ns, int nid) in update_numa_stats() argument 1416 memset(ns, 0, sizeof(*ns)); in update_numa_stats() 1420 ns->nr_running += rq->nr_running; in update_numa_stats() 1421 ns->load += weighted_cpuload(cpu); in update_numa_stats() 1422 ns->compute_capacity += capacity_of(cpu); in update_numa_stats() 1439 smt = DIV_ROUND_UP(SCHED_CAPACITY_SCALE * cpus, ns->compute_capacity); in update_numa_stats() 1442 ns->task_capacity = min_t(unsigned, capacity, in update_numa_stats() 1443 DIV_ROUND_CLOSEST(ns->compute_capacity, SCHED_CAPACITY_SCALE)); in update_numa_stats() 1444 ns->has_free_capacity = (ns->nr_running < ns->task_capacity); in update_numa_stats()
|
D | core.c | 3122 u64 ns; in task_sched_runtime() local 3151 ns = p->se.sum_exec_runtime; in task_sched_runtime() 3154 return ns; in task_sched_runtime()
|
/kernel/events/ |
D | core.c | 1273 return task_tgid_nr_ns(p, event->ns); in perf_event_pid() 1284 return task_pid_nr_ns(p, event->ns); in perf_event_tid() 3858 if (event->ns) in free_event_rcu() 3859 put_pid_ns(event->ns); in free_event_rcu() 9213 event->ns = get_pid_ns(task_active_pid_ns(current)); in perf_event_alloc() 9341 if (event->ns) in perf_event_alloc() 9342 put_pid_ns(event->ns); in perf_event_alloc()
|