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

Commit 9f43e391 authored by Jeremy Kerr's avatar Jeremy Kerr
Browse files

powerpc/spufs: Fix multiple get_spu_context()



Commit 8d5636fb introduced a reference
count on SPU contexts during find_victim, but this may cause a leak in
the reference count if we later find a better contender for a context to
unschedule.

Change the reference to after we've found our victim context, so we
don't do the extra get_spu_context().

Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
parent 7888bc2b
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -643,9 +643,10 @@ static struct spu *find_victim(struct spu_context *ctx)
			    !(tmp->flags & SPU_CREATE_NOSCHED) &&
			    (!victim || tmp->prio > victim->prio)) {
				victim = spu->ctx;
				get_spu_context(victim);
			}
		}
		if (victim)
			get_spu_context(victim);
		mutex_unlock(&cbe_spu_info[node].list_mutex);

		if (victim) {