[kernel] r16929 - in dists/squeeze/linux-2.6/debian: . patches/bugfix/s390 patches/series

Dann Frazier dannf at alioth.debian.org
Mon Feb 21 19:55:04 UTC 2011


Author: dannf
Date: Mon Feb 21 19:55:00 2011
New Revision: 16929

Log:
s390: remove task_show_regs (CVE-2011-0710)

Added:
   dists/squeeze/linux-2.6/debian/patches/bugfix/s390/remove-task_show_regs.patch
Modified:
   dists/squeeze/linux-2.6/debian/changelog
   dists/squeeze/linux-2.6/debian/patches/series/31

Modified: dists/squeeze/linux-2.6/debian/changelog
==============================================================================
--- dists/squeeze/linux-2.6/debian/changelog	Mon Feb 21 17:03:22 2011	(r16928)
+++ dists/squeeze/linux-2.6/debian/changelog	Mon Feb 21 19:55:00 2011	(r16929)
@@ -34,6 +34,7 @@
   [ dann frazier ]
   * xfs: fix information leak using stale NFS handle (CVE-2010-2943)
   * av7110: check for negative array offset (CVE-2011-0521)
+  * s390: remove task_show_regs (CVE-2011-0710)
 
   [ maximilian attems]
   * Update openvz patch to 07aaa2e9fb25 (ipv6, checkpointing, stability,

Added: dists/squeeze/linux-2.6/debian/patches/bugfix/s390/remove-task_show_regs.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/squeeze/linux-2.6/debian/patches/bugfix/s390/remove-task_show_regs.patch	Mon Feb 21 19:55:00 2011	(r16929)
@@ -0,0 +1,84 @@
+commit 0fa54c8fbe11214a0a91f437bb3bb3d25aa3961f
+Author: dann frazier <dannf at debian.org>
+Date:   Mon Feb 21 11:36:24 2011 -0700
+
+    s390: remove task_show_regs
+
+diff --git a/arch/s390/include/asm/processor.h b/arch/s390/include/asm/processor.h
+index b427154..0262c28 100644
+--- a/arch/s390/include/asm/processor.h
++++ b/arch/s390/include/asm/processor.h
+@@ -150,11 +150,6 @@ extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
+  */
+ 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);
+diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
+index c2e42cc..6d3f00a 100644
+--- a/arch/s390/kernel/traps.c
++++ b/arch/s390/kernel/traps.c
+@@ -243,43 +243,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)
+diff --git a/fs/proc/array.c b/fs/proc/array.c
+index 42fdc76..ca37f01 100644
+--- a/fs/proc/array.c
++++ b/fs/proc/array.c
+@@ -336,9 +336,6 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns,
+ 	task_sig(m, task);
+ 	task_cap(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;
+ }

Modified: dists/squeeze/linux-2.6/debian/patches/series/31
==============================================================================
--- dists/squeeze/linux-2.6/debian/patches/series/31	Mon Feb 21 17:03:22 2011	(r16928)
+++ dists/squeeze/linux-2.6/debian/patches/series/31	Mon Feb 21 19:55:00 2011	(r16929)
@@ -33,3 +33,4 @@
 + bugfix/all/virtio_net-fix-oom-handling-on-tx.patch
 + bugfix/all/virtio_net-Add-schedule-check-to-napi_enable-call.patch
 + debian/revert-radio-aimslab-gcc4.5-fix-in-2.6.32.29.patch
++ bugfix/s390/remove-task_show_regs.patch



More information about the Kernel-svn-changes mailing list