mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
c/r: procfs: add arg_start/end, env_start/end and exit_code members to /proc/$pid/stat
We would like to have an ability to restore command line arguments and program environment pointers but first we need to obtain them somehow. Thus we put these values into /proc/$pid/stat. The exit_code is needed to restore zombie tasks. Signed-off-by: Cyrill Gorcunov <[email protected]> Acked-by: Kees Cook <[email protected]> Cc: Pavel Emelyanov <[email protected]> Cc: Serge Hallyn <[email protected]> Cc: KAMEZAWA Hiroyuki <[email protected]> Cc: Alexey Dobriyan <[email protected]> Cc: Tejun Heo <[email protected]> Cc: Andrew Vagin <[email protected]> Cc: Vasiliy Kulikov <[email protected]> Cc: Alexey Dobriyan <[email protected]> Cc: "Eric W. Biederman" <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
d97b46a646
commit
5b172087f9
2 changed files with 22 additions and 3 deletions
|
|
@ -517,9 +517,23 @@ static int do_task_stat(struct seq_file *m, struct pid_namespace *ns,
|
|||
seq_put_decimal_ull(m, ' ', delayacct_blkio_ticks(task));
|
||||
seq_put_decimal_ull(m, ' ', cputime_to_clock_t(gtime));
|
||||
seq_put_decimal_ll(m, ' ', cputime_to_clock_t(cgtime));
|
||||
seq_put_decimal_ull(m, ' ', (mm && permitted) ? mm->start_data : 0);
|
||||
seq_put_decimal_ull(m, ' ', (mm && permitted) ? mm->end_data : 0);
|
||||
seq_put_decimal_ull(m, ' ', (mm && permitted) ? mm->start_brk : 0);
|
||||
|
||||
if (mm && permitted) {
|
||||
seq_put_decimal_ull(m, ' ', mm->start_data);
|
||||
seq_put_decimal_ull(m, ' ', mm->end_data);
|
||||
seq_put_decimal_ull(m, ' ', mm->start_brk);
|
||||
seq_put_decimal_ull(m, ' ', mm->arg_start);
|
||||
seq_put_decimal_ull(m, ' ', mm->arg_end);
|
||||
seq_put_decimal_ull(m, ' ', mm->env_start);
|
||||
seq_put_decimal_ull(m, ' ', mm->env_end);
|
||||
} else
|
||||
seq_printf(m, " 0 0 0 0 0 0 0");
|
||||
|
||||
if (permitted)
|
||||
seq_put_decimal_ll(m, ' ', task->exit_code);
|
||||
else
|
||||
seq_put_decimal_ll(m, ' ', 0);
|
||||
|
||||
seq_putc(m, '\n');
|
||||
if (mm)
|
||||
mmput(mm);
|
||||
|
|
|
|||
Loading…
Reference in a new issue