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

Commit c0bace5c authored by Jeremy Kerr's avatar Jeremy Kerr
Browse files

[POWERPC] spufs: update master runcntl with context lock held



Currently, we update the SPU master run control bit (ie,
spu_enable_spu) in spufs_run_spu before we grab the context mutex. This
can result in races with other processes accessing this context's
resources.

This change moves the spu_enable_spu to after we have acquired the
context lock.

Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
parent 55d7cd74
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -343,13 +343,14 @@ long spufs_run_spu(struct spu_context *ctx, u32 *npc, u32 *event)
	if (mutex_lock_interruptible(&ctx->run_mutex))
		return -ERESTARTSYS;

	spu_enable_spu(ctx);
	ctx->event_return = 0;

	ret = spu_acquire(ctx);
	if (ret)
		goto out_unlock;

	spu_enable_spu(ctx);

	spu_update_sched_info(ctx);

	ret = spu_run_init(ctx, npc);