]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.37 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Feb 2011 00:19:32 +0000 (16:19 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 18 Feb 2011 00:19:32 +0000 (16:19 -0800)
queue-2.6.37/s390-remove-task_show_regs.patch [new file with mode: 0644]
queue-2.6.37/series

diff --git a/queue-2.6.37/s390-remove-task_show_regs.patch b/queue-2.6.37/s390-remove-task_show_regs.patch
new file mode 100644 (file)
index 0000000..407d76e
--- /dev/null
@@ -0,0 +1,97 @@
+From 261cd298a8c363d7985e3482946edb4bfedacf98 Mon Sep 17 00:00:00 2001
+From: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Date: Tue, 15 Feb 2011 09:43:32 +0100
+Subject: s390: remove task_show_regs
+
+From: Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+commit 261cd298a8c363d7985e3482946edb4bfedacf98 upstream.
+
+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>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ arch/s390/include/asm/processor.h |    5 -----
+ arch/s390/kernel/traps.c          |   37 -------------------------------------
+ fs/proc/array.c                   |    3 ---
+ 3 files changed, 45 deletions(-)
+
+--- 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
+  */
+ extern unsigned long thread_saved_pc(struct task_struct *t);
+-/*
+- * Print register of task into buffer. Used in fs/proc/array.c.
+- */
+-extern void task_show_regs(struct seq_file *m, struct task_struct *task);
+-
+ extern void show_code(struct pt_regs *regs);
+ unsigned long get_wchan(struct task_struct *p);
+--- a/arch/s390/kernel/traps.c
++++ b/arch/s390/kernel/traps.c
+@@ -237,43 +237,6 @@ void show_regs(struct pt_regs *regs)
+       show_last_breaking_event(regs);
+ }
+-/* This is called from fs/proc/array.c */
+-void task_show_regs(struct seq_file *m, struct task_struct *task)
+-{
+-      struct pt_regs *regs;
+-
+-      regs = task_pt_regs(task);
+-      seq_printf(m, "task: %p, ksp: %p\n",
+-                     task, (void *)task->thread.ksp);
+-      seq_printf(m, "User PSW : %p %p\n",
+-                     (void *) regs->psw.mask, (void *)regs->psw.addr);
+-
+-      seq_printf(m, "User GPRS: " FOURLONG,
+-                        regs->gprs[0], regs->gprs[1],
+-                        regs->gprs[2], regs->gprs[3]);
+-      seq_printf(m, "           " FOURLONG,
+-                        regs->gprs[4], regs->gprs[5],
+-                        regs->gprs[6], regs->gprs[7]);
+-      seq_printf(m, "           " FOURLONG,
+-                        regs->gprs[8], regs->gprs[9],
+-                        regs->gprs[10], regs->gprs[11]);
+-      seq_printf(m, "           " FOURLONG,
+-                        regs->gprs[12], regs->gprs[13],
+-                        regs->gprs[14], regs->gprs[15]);
+-      seq_printf(m, "User ACRS: %08x %08x %08x %08x\n",
+-                        task->thread.acrs[0], task->thread.acrs[1],
+-                        task->thread.acrs[2], task->thread.acrs[3]);
+-      seq_printf(m, "           %08x %08x %08x %08x\n",
+-                        task->thread.acrs[4], task->thread.acrs[5],
+-                        task->thread.acrs[6], task->thread.acrs[7]);
+-      seq_printf(m, "           %08x %08x %08x %08x\n",
+-                        task->thread.acrs[8], task->thread.acrs[9],
+-                        task->thread.acrs[10], task->thread.acrs[11]);
+-      seq_printf(m, "           %08x %08x %08x %08x\n",
+-                        task->thread.acrs[12], task->thread.acrs[13],
+-                        task->thread.acrs[14], task->thread.acrs[15]);
+-}
+-
+ static DEFINE_SPINLOCK(die_lock);
+ void die(const char * str, struct pt_regs * regs, long err)
+--- a/fs/proc/array.c
++++ b/fs/proc/array.c
+@@ -353,9 +353,6 @@ int proc_pid_status(struct seq_file *m,
+       task_cap(m, task);
+       task_cpus_allowed(m, task);
+       cpuset_task_status_allowed(m, task);
+-#if defined(CONFIG_S390)
+-      task_show_regs(m, task);
+-#endif
+       task_context_switch_counts(m, task);
+       return 0;
+ }
index 1aa95badb8f382e0fa1c53d9d7475113e7310c40..16769152e8697e3c5f452fad24b06b5e942a7c80 100644 (file)
@@ -31,3 +31,4 @@ pci-use-security_capable-when-checking-capablities-during-config-space-read.patc
 acpi-wakeup-enable-button-gpes-unconditionally-during-initialization.patch
 nfsd-correctly-handle-return-value-from-nfsd_map_name_to_.patch
 x86-hotplug-fix-powersavings-with-offlined-cores-on-amd.patch
+s390-remove-task_show_regs.patch