]> git.pld-linux.org Git - packages/kernel.git/blame - linux-2.6-grsec-wrong-deref.patch
- release 4
[packages/kernel.git] / linux-2.6-grsec-wrong-deref.patch
CommitLineData
7383e370 1Fixes dereference of already freed signal structs on conn_table_entry traversal.
2(removal of "tsk == sig->curr_target" comparison in a case of 1-element
3 process group caused to apply gr_del_task_from_ip_table(tsk) hunk to be
4 applied in wrong place, where struct signal is still kept, not where it
5 is freed)
6--- linux-2.6.16/kernel/signal.c.orig 2007-07-14 12:16:07.661313000 +0200
7+++ linux-2.6.16/kernel/signal.c 2007-07-14 13:40:35.919325560 +0200
8@@ -367,6 +367,7 @@
9 posix_cpu_timers_exit(tsk);
10 if (atomic_dec_and_test(&sig->count)) {
11 posix_cpu_timers_exit_group(tsk);
12+ gr_del_task_from_ip_table(tsk);
13 tsk->signal = NULL;
14 __exit_sighand(tsk);
15 spin_unlock(&sighand->siglock);
16@@ -382,7 +383,6 @@
17 }
18 if (tsk == sig->curr_target)
19 sig->curr_target = next_thread(tsk);
20- gr_del_task_from_ip_table(tsk);
21 tsk->signal = NULL;
22 /*
23 * Accumulate here the counters for all threads but the
This page took 0.03185 seconds and 4 git commands to generate.