Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7cdcf300 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "sched: Fix spinlock recursion in sched_exit()"

parents df60c619 23d319fb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2311,11 +2311,11 @@ void sched_exit(struct task_struct *p)
	reset_task_stats(p);
	p->ravg.mark_start = wallclock;
	p->ravg.sum_history[0] = EXITING_TASK_MARKER;
	free_task_load_ptrs(p);

	enqueue_task(rq, p, 0);
	clear_ed_task(p, rq);
	task_rq_unlock(rq, p, &flags);
	free_task_load_ptrs(p);
}
#endif /* CONFIG_SCHED_HMP */

+4 −0
Original line number Diff line number Diff line
@@ -1526,6 +1526,10 @@ unsigned int cpu_temp(int cpu)
		return 0;
}

/*
 * kfree() may wakeup kswapd. So this function should NOT be called
 * with any CPU's rq->lock acquired.
 */
void free_task_load_ptrs(struct task_struct *p)
{
	kfree(p->ravg.curr_window_cpu);