|
@@ -424,6 +424,7 @@ static void cleanup_timers(struct list_head *head,
|
|
cputime_t ptime = cputime_add(utime, stime);
|
|
cputime_t ptime = cputime_add(utime, stime);
|
|
|
|
|
|
list_for_each_entry_safe(timer, next, head, entry) {
|
|
list_for_each_entry_safe(timer, next, head, entry) {
|
|
|
|
+ put_task_struct(timer->task);
|
|
timer->task = NULL;
|
|
timer->task = NULL;
|
|
list_del_init(&timer->entry);
|
|
list_del_init(&timer->entry);
|
|
if (cputime_lt(timer->expires.cpu, ptime)) {
|
|
if (cputime_lt(timer->expires.cpu, ptime)) {
|
|
@@ -436,6 +437,7 @@ static void cleanup_timers(struct list_head *head,
|
|
|
|
|
|
++head;
|
|
++head;
|
|
list_for_each_entry_safe(timer, next, head, entry) {
|
|
list_for_each_entry_safe(timer, next, head, entry) {
|
|
|
|
+ put_task_struct(timer->task);
|
|
timer->task = NULL;
|
|
timer->task = NULL;
|
|
list_del_init(&timer->entry);
|
|
list_del_init(&timer->entry);
|
|
if (cputime_lt(timer->expires.cpu, utime)) {
|
|
if (cputime_lt(timer->expires.cpu, utime)) {
|
|
@@ -448,6 +450,7 @@ static void cleanup_timers(struct list_head *head,
|
|
|
|
|
|
++head;
|
|
++head;
|
|
list_for_each_entry_safe(timer, next, head, entry) {
|
|
list_for_each_entry_safe(timer, next, head, entry) {
|
|
|
|
+ put_task_struct(timer->task);
|
|
timer->task = NULL;
|
|
timer->task = NULL;
|
|
list_del_init(&timer->entry);
|
|
list_del_init(&timer->entry);
|
|
if (timer->expires.sched < sched_time) {
|
|
if (timer->expires.sched < sched_time) {
|