Re: [PATCH 1/5] powerpc/spufs: simplify spufs core dumping

From: Al Viro
Date: Mon Apr 27 2020 - 16:50:18 EST


On Mon, Apr 27, 2020 at 10:06:21PM +0200, Christoph Hellwig wrote:

> @@ -1988,7 +1984,12 @@ static ssize_t spufs_mbox_info_read(struct file *file, char __user *buf,
> if (ret)
> return ret;
> spin_lock(&ctx->csa.register_lock);
> - ret = __spufs_mbox_info_read(ctx, buf, len, pos);
> + /* EOF if there's no entry in the mbox */
> + if (ctx->csa.prob.mb_stat_R & 0x0000ff) {
> + ret = simple_read_from_buffer(buf, len, pos,
> + &ctx->csa.prob.pu_mb_R,
> + sizeof(ctx->csa.prob.pu_mb_R));
> + }
> spin_unlock(&ctx->csa.register_lock);
> spu_release_saved(ctx);

Again, this really needs fixing. Preferably - as a separate commit preceding
this series, so that it could be backported. simple_read_from_buffer() is
a blocking operation. Yes, I understand that mainline has the same bug;
it really does need to be fixed and having to backport this series is not
a good idea, for obvious reasons.