packages: kernel/kernel-CVE-2011-2484.patch (NEW) - patch fixing CVE-2011-2...

marti marti at pld-linux.org
Wed Jul 20 16:07:16 CEST 2011


Author: marti                        Date: Wed Jul 20 14:07:16 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- patch fixing CVE-2011-2484
- source info: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=26c4caea9d697043cc5a458b96411b86d7f6babd

---- Files affected:
packages/kernel:
   kernel-CVE-2011-2484.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/kernel/kernel-CVE-2011-2484.patch
diff -u /dev/null packages/kernel/kernel-CVE-2011-2484.patch:1.1
--- /dev/null	Wed Jul 20 16:07:16 2011
+++ packages/kernel/kernel-CVE-2011-2484.patch	Wed Jul 20 16:07:11 2011
@@ -0,0 +1,43 @@
+diff -ur linux-2.6.38-orig/kernel/taskstats.c linux-2.6.38/kernel/taskstats.c
+--- linux-2.6.38-orig/kernel/taskstats.c	2011-07-20 12:39:15.000000000 +0200
++++ linux-2.6.38/kernel/taskstats.c	2011-07-20 12:59:18.000000000 +0200
+@@ -288,16 +288,18 @@
+ static int add_del_listener(pid_t pid, const struct cpumask *mask, int isadd)
+ {
+ 	struct listener_list *listeners;
+-	struct listener *s, *tmp;
++	struct listener *s, *tmp, *s2;
+ 	unsigned int cpu;
+ 
+ 	if (!cpumask_subset(mask, cpu_possible_mask))
+ 		return -EINVAL;
+-
++	
++	s = NULL;
+ 	if (isadd == REGISTER) {
+ 		for_each_cpu(cpu, mask) {
+-			s = kmalloc_node(sizeof(struct listener), GFP_KERNEL,
+-					 cpu_to_node(cpu));
++			if (!s)
++				s = kmalloc_node(sizeof(struct listener),
++						GFP_KERNEL, cpu_to_node(cpu));
+ 			if (!s)
+ 				goto cleanup;
+ 			s->pid = pid;
+@@ -306,9 +308,16 @@
+ 
+ 			listeners = &per_cpu(listener_array, cpu);
+ 			down_write(&listeners->sem);
++			list_for_each_entry_safe(s2, tmp, &listeners->list, list) {
++				if (s2->pid == pid)
++					goto next_cpu;
++			}
+ 			list_add(&s->list, &listeners->list);
++			s = NULL;
++next_cpu:
+ 			up_write(&listeners->sem);
+ 		}
++		kfree(s);
+ 		return 0;
+ 	}
+ 
================================================================


More information about the pld-cvs-commit mailing list