projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] powerpc: legacy_serial loop cleanup
[powerpc.git]
/
kernel
/
sched.c
diff --git
a/kernel/sched.c
b/kernel/sched.c
index
7ffaabd
..
78acdef
100644
(file)
--- a/
kernel/sched.c
+++ b/
kernel/sched.c
@@
-49,6
+49,7
@@
#include <linux/syscalls.h>
#include <linux/times.h>
#include <linux/acct.h>
#include <linux/syscalls.h>
#include <linux/times.h>
#include <linux/acct.h>
+#include <linux/kprobes.h>
#include <asm/tlb.h>
#include <asm/unistd.h>
#include <asm/tlb.h>
#include <asm/unistd.h>
@@
-1546,8
+1547,14
@@
static inline void finish_task_switch(runqueue_t *rq, task_t *prev)
finish_lock_switch(rq, prev);
if (mm)
mmdrop(mm);
finish_lock_switch(rq, prev);
if (mm)
mmdrop(mm);
- if (unlikely(prev_task_flags & PF_DEAD))
+ if (unlikely(prev_task_flags & PF_DEAD)) {
+ /*
+ * Remove function-return probe instances associated with this
+ * task and put them back on the free list.
+ */
+ kprobe_flush_task(prev);
put_task_struct(prev);
put_task_struct(prev);
+ }
}
/**
}
/**