diff options
| author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-02-15 03:43:32 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-02-15 10:34:16 -0500 |
| commit | 261cd298a8c363d7985e3482946edb4bfedacf98 (patch) | |
| tree | 2b0335444f995b406ea4b9f31bc8eaffaed2e807 | |
| parent | 1abe3af27120a66711e00eb3112ecd4f8292a470 (diff) | |
s390: remove task_show_regs
task_show_regs used to be a debugging aid in the early bringup days
of Linux on s390. /proc/<pid>/status is a world readable file, it
is not a good idea to show the registers of a process. The only
correct fix is to remove task_show_regs.
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| -rw-r--r-- | arch/s390/include/asm/processor.h | 5 | ||||
| -rw-r--r-- | arch/s390/kernel/traps.c | 37 | ||||
| -rw-r--r-- | fs/proc/array.c | 3 |
3 files changed, 0 insertions, 45 deletions
diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h index bf3de04170a7..2c79b6416271 100644 --- a/arch/s390/include/asm/processor.h +++ b/arch/s390/include/asm/processor.h | |||
| @@ -148,11 +148,6 @@ extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); | |||
| 148 | */ | 148 | */ |
| 149 | extern unsigned long thread_saved_pc(struct task_struct *t); | 149 | extern unsigned long thread_saved_pc(struct task_struct *t); |
| 150 | 150 | ||
| 151 | /* | ||
| 152 | * Print register of task into buffer. Used in fs/proc/array.c. | ||
| 153 | */ | ||
| 154 | extern void task_show_regs(struct seq_file *m, struct task_struct *task); | ||
| 155 | |||
| 156 | extern void show_code(struct pt_regs *regs); | 151 | extern void show_code(struct pt_regs *regs); |
| 157 | 152 | ||
| 158 | unsigned long get_wchan(struct task_struct *p); | 153 | unsigned long get_wchan(struct task_struct *p); |
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c index 5eb78dd584ce..b5a4a739b477 100644 --- a/arch/s390/kernel/traps.c +++ b/arch/s390/kernel/traps.c | |||
| @@ -237,43 +237,6 @@ void show_regs(struct pt_regs *regs) | |||
| 237 | show_last_breaking_event(regs); | 237 | show_last_breaking_event(regs); |
| 238 | } | 238 | } |
| 239 | 239 | ||
| 240 | /* This is called from fs/proc/array.c */ | ||
| 241 | void task_show_regs(struct seq_file *m, struct task_struct *task) | ||
| 242 | { | ||
| 243 | struct pt_regs *regs; | ||
| 244 | |||
| 245 | regs = task_pt_regs(task); | ||
| 246 | seq_printf(m, "task: %p, ksp: %p\n", | ||
| 247 | task, (void *)task->thread.ksp); | ||
| 248 | seq_printf(m, "User PSW : %p %p\n", | ||
| 249 | (void *) regs->psw.mask, (void *)regs->psw.addr); | ||
| 250 | |||
| 251 | seq_printf(m, "User GPRS: " FOURLONG, | ||
| 252 | regs->gprs[0], regs->gprs[1], | ||
| 253 | regs->gprs[2], regs->gprs[3]); | ||
| 254 | seq_printf(m, " " FOURLONG, | ||
| 255 | regs->gprs[4], regs->gprs[5], | ||
| 256 | regs->gprs[6], regs->gprs[7]); | ||
| 257 | seq_printf(m, " " FOURLONG, | ||
| 258 | regs->gprs[8], regs->gprs[9], | ||
| 259 | regs->gprs[10], regs->gprs[11]); | ||
| 260 | seq_printf(m, " " FOURLONG, | ||
| 261 | regs->gprs[12], regs->gprs[13], | ||
| 262 | regs->gprs[14], regs->gprs[15]); | ||
| 263 | seq_printf(m, "User ACRS: %08x %08x %08x %08x\n", | ||
| 264 | task->thread.acrs[0], task->thread.acrs[1], | ||
| 265 | task->thread.acrs[2], task->thread.acrs[3]); | ||
| 266 | seq_printf(m, " %08x %08x %08x %08x\n", | ||
| 267 | task->thread.acrs[4], task->thread.acrs[5], | ||
| 268 | task->thread.acrs[6], task->thread.acrs[7]); | ||
| 269 | seq_printf(m, " %08x %08x %08x %08x\n", | ||
| 270 | task->thread.acrs[8], task->thread.acrs[9], | ||
| 271 | task->thread.acrs[10], task->thread.acrs[11]); | ||
| 272 | seq_printf(m, " %08x %08x %08x %08x\n", | ||
| 273 | task->thread.acrs[12], task->thread.acrs[13], | ||
| 274 | task->thread.acrs[14], task->thread.acrs[15]); | ||
| 275 | } | ||
| 276 | |||
| 277 | static DEFINE_SPINLOCK(die_lock); | 240 | static DEFINE_SPINLOCK(die_lock); |
| 278 | 241 | ||
| 279 | void die(const char * str, struct pt_regs * regs, long err) | 242 | void die(const char * str, struct pt_regs * regs, long err) |
diff --git a/fs/proc/array.c b/fs/proc/array.c index df2b703b9d0f..7c99c1cf7e5c 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c | |||
| @@ -353,9 +353,6 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, | |||
| 353 | task_cap(m, task); | 353 | task_cap(m, task); |
| 354 | task_cpus_allowed(m, task); | 354 | task_cpus_allowed(m, task); |
| 355 | cpuset_task_status_allowed(m, task); | 355 | cpuset_task_status_allowed(m, task); |
| 356 | #if defined(CONFIG_S390) | ||
| 357 | task_show_regs(m, task); | ||
| 358 | #endif | ||
| 359 | task_context_switch_counts(m, task); | 356 | task_context_switch_counts(m, task); |
| 360 | return 0; | 357 | return 0; |
| 361 | } | 358 | } |
