Lines Matching refs:m

99 void proc_task_name(struct seq_file *m, struct task_struct *p, bool escape)  in proc_task_name()  argument
115 seq_escape_str(m, tcomm, ESCAPE_SPACE | ESCAPE_SPECIAL, "\n\\"); in proc_task_name()
117 seq_printf(m, "%.64s", tcomm); in proc_task_name()
148 static inline void task_state(struct seq_file *m, struct pid_namespace *ns, in task_state() argument
151 struct user_namespace *user_ns = seq_user_ns(m); in task_state()
180 seq_printf(m, "Umask:\t%#04o\n", umask); in task_state()
181 seq_puts(m, "State:\t"); in task_state()
182 seq_puts(m, get_task_state(p)); in task_state()
184 seq_put_decimal_ull(m, "\nTgid:\t", tgid); in task_state()
185 seq_put_decimal_ull(m, "\nNgid:\t", ngid); in task_state()
186 seq_put_decimal_ull(m, "\nPid:\t", pid_nr_ns(pid, ns)); in task_state()
187 seq_put_decimal_ull(m, "\nPPid:\t", ppid); in task_state()
188 seq_put_decimal_ull(m, "\nTracerPid:\t", tpid); in task_state()
189 seq_put_decimal_ull(m, "\nUid:\t", from_kuid_munged(user_ns, cred->uid)); in task_state()
190 seq_put_decimal_ull(m, "\t", from_kuid_munged(user_ns, cred->euid)); in task_state()
191 seq_put_decimal_ull(m, "\t", from_kuid_munged(user_ns, cred->suid)); in task_state()
192 seq_put_decimal_ull(m, "\t", from_kuid_munged(user_ns, cred->fsuid)); in task_state()
193 seq_put_decimal_ull(m, "\nGid:\t", from_kgid_munged(user_ns, cred->gid)); in task_state()
194 seq_put_decimal_ull(m, "\t", from_kgid_munged(user_ns, cred->egid)); in task_state()
195 seq_put_decimal_ull(m, "\t", from_kgid_munged(user_ns, cred->sgid)); in task_state()
196 seq_put_decimal_ull(m, "\t", from_kgid_munged(user_ns, cred->fsgid)); in task_state()
197 seq_put_decimal_ull(m, "\nFDSize:\t", max_fds); in task_state()
199 seq_puts(m, "\nGroups:\t"); in task_state()
202 seq_put_decimal_ull(m, g ? " " : "", in task_state()
206 seq_putc(m, ' '); in task_state()
209 seq_puts(m, "\nNStgid:"); in task_state()
211 seq_put_decimal_ull(m, "\t", task_tgid_nr_ns(p, pid->numbers[g].ns)); in task_state()
212 seq_puts(m, "\nNSpid:"); in task_state()
214 seq_put_decimal_ull(m, "\t", task_pid_nr_ns(p, pid->numbers[g].ns)); in task_state()
215 seq_puts(m, "\nNSpgid:"); in task_state()
217 seq_put_decimal_ull(m, "\t", task_pgrp_nr_ns(p, pid->numbers[g].ns)); in task_state()
218 seq_puts(m, "\nNSsid:"); in task_state()
220 seq_put_decimal_ull(m, "\t", task_session_nr_ns(p, pid->numbers[g].ns)); in task_state()
222 seq_putc(m, '\n'); in task_state()
224 seq_printf(m, "Kthread:\t%c\n", p->flags & PF_KTHREAD ? '1' : '0'); in task_state()
227 void render_sigset_t(struct seq_file *m, const char *header, in render_sigset_t() argument
232 seq_puts(m, header); in render_sigset_t()
243 seq_putc(m, hex_asc[x]); in render_sigset_t()
246 seq_putc(m, '\n'); in render_sigset_t()
264 static inline void task_sig(struct seq_file *m, struct task_struct *p) in task_sig() argument
291 seq_put_decimal_ull(m, "Threads:\t", num_threads); in task_sig()
292 seq_put_decimal_ull(m, "\nSigQ:\t", qsize); in task_sig()
293 seq_put_decimal_ull(m, "/", qlim); in task_sig()
296 render_sigset_t(m, "\nSigPnd:\t", &pending); in task_sig()
297 render_sigset_t(m, "ShdPnd:\t", &shpending); in task_sig()
298 render_sigset_t(m, "SigBlk:\t", &blocked); in task_sig()
299 render_sigset_t(m, "SigIgn:\t", &ignored); in task_sig()
300 render_sigset_t(m, "SigCgt:\t", &caught); in task_sig()
303 static void render_cap_t(struct seq_file *m, const char *header, in render_cap_t() argument
306 seq_puts(m, header); in render_cap_t()
307 seq_put_hex_ll(m, NULL, a->val, 16); in render_cap_t()
308 seq_putc(m, '\n'); in render_cap_t()
311 static inline void task_cap(struct seq_file *m, struct task_struct *p) in task_cap() argument
326 render_cap_t(m, "CapInh:\t", &cap_inheritable); in task_cap()
327 render_cap_t(m, "CapPrm:\t", &cap_permitted); in task_cap()
328 render_cap_t(m, "CapEff:\t", &cap_effective); in task_cap()
329 render_cap_t(m, "CapBnd:\t", &cap_bset); in task_cap()
330 render_cap_t(m, "CapAmb:\t", &cap_ambient); in task_cap()
333 static inline void task_seccomp(struct seq_file *m, struct task_struct *p) in task_seccomp() argument
335 seq_put_decimal_ull(m, "NoNewPrivs:\t", task_no_new_privs(p)); in task_seccomp()
337 seq_put_decimal_ull(m, "\nSeccomp:\t", p->seccomp.mode); in task_seccomp()
339 seq_put_decimal_ull(m, "\nSeccomp_filters:\t", in task_seccomp()
343 seq_puts(m, "\nSpeculation_Store_Bypass:\t"); in task_seccomp()
346 seq_puts(m, "unknown"); in task_seccomp()
349 seq_puts(m, "not vulnerable"); in task_seccomp()
352 seq_puts(m, "thread force mitigated"); in task_seccomp()
355 seq_puts(m, "thread mitigated"); in task_seccomp()
358 seq_puts(m, "thread vulnerable"); in task_seccomp()
361 seq_puts(m, "globally mitigated"); in task_seccomp()
364 seq_puts(m, "vulnerable"); in task_seccomp()
368 seq_puts(m, "\nSpeculationIndirectBranch:\t"); in task_seccomp()
371 seq_puts(m, "unsupported"); in task_seccomp()
374 seq_puts(m, "not affected"); in task_seccomp()
377 seq_puts(m, "conditional force disabled"); in task_seccomp()
380 seq_puts(m, "conditional disabled"); in task_seccomp()
383 seq_puts(m, "conditional enabled"); in task_seccomp()
386 seq_puts(m, "always enabled"); in task_seccomp()
389 seq_puts(m, "always disabled"); in task_seccomp()
392 seq_puts(m, "unknown"); in task_seccomp()
395 seq_putc(m, '\n'); in task_seccomp()
398 static inline void task_context_switch_counts(struct seq_file *m, in task_context_switch_counts() argument
401 seq_put_decimal_ull(m, "voluntary_ctxt_switches:\t", p->nvcsw); in task_context_switch_counts()
402 seq_put_decimal_ull(m, "\nnonvoluntary_ctxt_switches:\t", p->nivcsw); in task_context_switch_counts()
403 seq_putc(m, '\n'); in task_context_switch_counts()
406 static void task_cpus_allowed(struct seq_file *m, struct task_struct *task) in task_cpus_allowed() argument
408 seq_printf(m, "Cpus_allowed:\t%*pb\n", in task_cpus_allowed()
410 seq_printf(m, "Cpus_allowed_list:\t%*pbl\n", in task_cpus_allowed()
414 static inline void task_core_dumping(struct seq_file *m, struct task_struct *task) in task_core_dumping() argument
416 seq_put_decimal_ull(m, "CoreDumping:\t", !!task->signal->core_state); in task_core_dumping()
417 seq_putc(m, '\n'); in task_core_dumping()
420 static inline void task_thp_status(struct seq_file *m, struct mm_struct *mm) in task_thp_status() argument
426 seq_printf(m, "THP_enabled:\t%d\n", thp_enabled); in task_thp_status()
429 static inline void task_untag_mask(struct seq_file *m, struct mm_struct *mm) in task_untag_mask() argument
431 seq_printf(m, "untag_mask:\t%#lx\n", mm_untag_mask(mm)); in task_untag_mask()
434 __weak void arch_proc_pid_thread_features(struct seq_file *m, in arch_proc_pid_thread_features() argument
439 int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, in proc_pid_status() argument
444 seq_puts(m, "Name:\t"); in proc_pid_status()
445 proc_task_name(m, task, true); in proc_pid_status()
446 seq_putc(m, '\n'); in proc_pid_status()
448 task_state(m, ns, pid, task); in proc_pid_status()
451 task_mem(m, mm); in proc_pid_status()
452 task_core_dumping(m, task); in proc_pid_status()
453 task_thp_status(m, mm); in proc_pid_status()
454 task_untag_mask(m, mm); in proc_pid_status()
457 task_sig(m, task); in proc_pid_status()
458 task_cap(m, task); in proc_pid_status()
459 task_seccomp(m, task); in proc_pid_status()
460 task_cpus_allowed(m, task); in proc_pid_status()
461 cpuset_task_status_allowed(m, task); in proc_pid_status()
462 task_context_switch_counts(m, task); in proc_pid_status()
463 arch_proc_pid_thread_features(m, task); in proc_pid_status()
467 static int do_task_stat(struct seq_file *m, struct pid_namespace *ns, in do_task_stat() argument
589 seq_put_decimal_ull(m, "", pid_nr_ns(pid, ns)); in do_task_stat()
590 seq_puts(m, " ("); in do_task_stat()
591 proc_task_name(m, task, false); in do_task_stat()
592 seq_puts(m, ") "); in do_task_stat()
593 seq_putc(m, state); in do_task_stat()
594 seq_put_decimal_ll(m, " ", ppid); in do_task_stat()
595 seq_put_decimal_ll(m, " ", pgid); in do_task_stat()
596 seq_put_decimal_ll(m, " ", sid); in do_task_stat()
597 seq_put_decimal_ll(m, " ", tty_nr); in do_task_stat()
598 seq_put_decimal_ll(m, " ", tty_pgrp); in do_task_stat()
599 seq_put_decimal_ull(m, " ", task->flags); in do_task_stat()
600 seq_put_decimal_ull(m, " ", min_flt); in do_task_stat()
601 seq_put_decimal_ull(m, " ", cmin_flt); in do_task_stat()
602 seq_put_decimal_ull(m, " ", maj_flt); in do_task_stat()
603 seq_put_decimal_ull(m, " ", cmaj_flt); in do_task_stat()
604 seq_put_decimal_ull(m, " ", nsec_to_clock_t(utime)); in do_task_stat()
605 seq_put_decimal_ull(m, " ", nsec_to_clock_t(stime)); in do_task_stat()
606 seq_put_decimal_ll(m, " ", nsec_to_clock_t(cutime)); in do_task_stat()
607 seq_put_decimal_ll(m, " ", nsec_to_clock_t(cstime)); in do_task_stat()
608 seq_put_decimal_ll(m, " ", priority); in do_task_stat()
609 seq_put_decimal_ll(m, " ", nice); in do_task_stat()
610 seq_put_decimal_ll(m, " ", num_threads); in do_task_stat()
611 seq_put_decimal_ull(m, " ", 0); in do_task_stat()
612 seq_put_decimal_ull(m, " ", start_time); in do_task_stat()
613 seq_put_decimal_ull(m, " ", vsize); in do_task_stat()
614 seq_put_decimal_ull(m, " ", mm ? get_mm_rss(mm) : 0); in do_task_stat()
615 seq_put_decimal_ull(m, " ", rsslim); in do_task_stat()
616 seq_put_decimal_ull(m, " ", mm ? (permitted ? mm->start_code : 1) : 0); in do_task_stat()
617 seq_put_decimal_ull(m, " ", mm ? (permitted ? mm->end_code : 1) : 0); in do_task_stat()
618 seq_put_decimal_ull(m, " ", (permitted && mm) ? mm->start_stack : 0); in do_task_stat()
619 seq_put_decimal_ull(m, " ", esp); in do_task_stat()
620 seq_put_decimal_ull(m, " ", eip); in do_task_stat()
625 seq_put_decimal_ull(m, " ", task->pending.signal.sig[0] & 0x7fffffffUL); in do_task_stat()
626 seq_put_decimal_ull(m, " ", task->blocked.sig[0] & 0x7fffffffUL); in do_task_stat()
627 seq_put_decimal_ull(m, " ", sigign.sig[0] & 0x7fffffffUL); in do_task_stat()
628 seq_put_decimal_ull(m, " ", sigcatch.sig[0] & 0x7fffffffUL); in do_task_stat()
637 seq_put_decimal_ull(m, " ", wchan); in do_task_stat()
639 seq_put_decimal_ull(m, " ", 0); in do_task_stat()
640 seq_put_decimal_ull(m, " ", 0); in do_task_stat()
641 seq_put_decimal_ll(m, " ", task->exit_signal); in do_task_stat()
642 seq_put_decimal_ll(m, " ", task_cpu(task)); in do_task_stat()
643 seq_put_decimal_ull(m, " ", task->rt_priority); in do_task_stat()
644 seq_put_decimal_ull(m, " ", task->policy); in do_task_stat()
645 seq_put_decimal_ull(m, " ", delayacct_blkio_ticks(task)); in do_task_stat()
646 seq_put_decimal_ull(m, " ", nsec_to_clock_t(gtime)); in do_task_stat()
647 seq_put_decimal_ll(m, " ", nsec_to_clock_t(cgtime)); in do_task_stat()
650 seq_put_decimal_ull(m, " ", mm->start_data); in do_task_stat()
651 seq_put_decimal_ull(m, " ", mm->end_data); in do_task_stat()
652 seq_put_decimal_ull(m, " ", mm->start_brk); in do_task_stat()
653 seq_put_decimal_ull(m, " ", mm->arg_start); in do_task_stat()
654 seq_put_decimal_ull(m, " ", mm->arg_end); in do_task_stat()
655 seq_put_decimal_ull(m, " ", mm->env_start); in do_task_stat()
656 seq_put_decimal_ull(m, " ", mm->env_end); in do_task_stat()
658 seq_puts(m, " 0 0 0 0 0 0 0"); in do_task_stat()
661 seq_put_decimal_ll(m, " ", exit_code); in do_task_stat()
663 seq_puts(m, " 0"); in do_task_stat()
665 seq_putc(m, '\n'); in do_task_stat()
671 int proc_tid_stat(struct seq_file *m, struct pid_namespace *ns, in proc_tid_stat() argument
674 return do_task_stat(m, ns, pid, task, 0); in proc_tid_stat()
677 int proc_tgid_stat(struct seq_file *m, struct pid_namespace *ns, in proc_tgid_stat() argument
680 return do_task_stat(m, ns, pid, task, 1); in proc_tgid_stat()
683 int proc_pid_statm(struct seq_file *m, struct pid_namespace *ns, in proc_pid_statm() argument
704 seq_put_decimal_ull(m, "", size); in proc_pid_statm()
705 seq_put_decimal_ull(m, " ", resident); in proc_pid_statm()
706 seq_put_decimal_ull(m, " ", shared); in proc_pid_statm()
707 seq_put_decimal_ull(m, " ", text); in proc_pid_statm()
708 seq_put_decimal_ull(m, " ", 0); in proc_pid_statm()
709 seq_put_decimal_ull(m, " ", data); in proc_pid_statm()
710 seq_put_decimal_ull(m, " ", 0); in proc_pid_statm()
711 seq_putc(m, '\n'); in proc_pid_statm()
713 seq_write(m, "0 0 0 0 0 0 0\n", 14); in proc_pid_statm()