diff options
-rw-r--r-- | fs/proc/base.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c index 01def9f8aa74..a19308604145 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c | |||
@@ -2018,6 +2018,7 @@ struct timers_private { | |||
2018 | struct pid *pid; | 2018 | struct pid *pid; |
2019 | struct task_struct *task; | 2019 | struct task_struct *task; |
2020 | struct sighand_struct *sighand; | 2020 | struct sighand_struct *sighand; |
2021 | struct pid_namespace *ns; | ||
2021 | unsigned long flags; | 2022 | unsigned long flags; |
2022 | }; | 2023 | }; |
2023 | 2024 | ||
@@ -2060,9 +2061,24 @@ static void timers_stop(struct seq_file *m, void *v) | |||
2060 | static int show_timer(struct seq_file *m, void *v) | 2061 | static int show_timer(struct seq_file *m, void *v) |
2061 | { | 2062 | { |
2062 | struct k_itimer *timer; | 2063 | struct k_itimer *timer; |
2064 | struct timers_private *tp = m->private; | ||
2065 | int notify; | ||
2066 | static char *nstr[] = { | ||
2067 | [SIGEV_SIGNAL] = "signal", | ||
2068 | [SIGEV_NONE] = "none", | ||
2069 | [SIGEV_THREAD] = "thread", | ||
2070 | }; | ||
2063 | 2071 | ||
2064 | timer = list_entry((struct list_head *)v, struct k_itimer, list); | 2072 | timer = list_entry((struct list_head *)v, struct k_itimer, list); |
2073 | notify = timer->it_sigev_notify; | ||
2074 | |||
2065 | seq_printf(m, "ID: %d\n", timer->it_id); | 2075 | seq_printf(m, "ID: %d\n", timer->it_id); |
2076 | seq_printf(m, "signal: %d/%p\n", timer->sigq->info.si_signo, | ||
2077 | timer->sigq->info.si_value.sival_ptr); | ||
2078 | seq_printf(m, "notify: %s/%s.%d\n", | ||
2079 | nstr[notify & ~SIGEV_THREAD_ID], | ||
2080 | (notify & SIGEV_THREAD_ID) ? "tid" : "pid", | ||
2081 | pid_nr_ns(timer->it_pid, tp->ns)); | ||
2066 | 2082 | ||
2067 | return 0; | 2083 | return 0; |
2068 | } | 2084 | } |
@@ -2084,6 +2100,7 @@ static int proc_timers_open(struct inode *inode, struct file *file) | |||
2084 | return -ENOMEM; | 2100 | return -ENOMEM; |
2085 | 2101 | ||
2086 | tp->pid = proc_pid(inode); | 2102 | tp->pid = proc_pid(inode); |
2103 | tp->ns = inode->i_sb->s_fs_info; | ||
2087 | return 0; | 2104 | return 0; |
2088 | } | 2105 | } |
2089 | 2106 | ||