Re: [PATCH v29 5/9] sched: Have try_to_wake_up() handle return-migration for PROXY_WAKING case

From: Peter Zijlstra

Date: Fri May 22 2026 - 07:36:22 EST


On Tue, May 12, 2026 at 02:56:15AM +0000, John Stultz wrote:

> migrate_task:
> proxy_migrate_task(rq, rf, p, owner_cpu);
> @@ -7107,6 +7101,9 @@ static void __sched notrace __schedule(int sched_mode)
> if (sched_proxy_exec()) {
> struct task_struct *prev_donor = rq->donor;
>
> + if (!prev_state && prev->blocked_on)
> + clear_task_blocked_on(prev, NULL);
> +
> rq_set_donor(rq, next);
> if (unlikely(next->blocked_on)) {
> next = find_proxy_task(rq, next, &rf);

This adds a @prev dereference, after you've just explained how we should
not use @prev after a lock break.