powerpc/spufs: fix copy_to_user while atomic
authorJeremy Kerr <jk@ozlabs.org>
Tue, 5 May 2020 10:12:50 +0000 (12:12 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Tue, 5 May 2020 20:46:09 +0000 (16:46 -0400)
commit88413a6bfbbe2f648df399b62f85c934460b7a4d
tree638fe85310e0f969f7ed3c1eaabb4c842ef8b21b
parent8f3d9f354286745c751374f5f1fcafee6b3f3136
powerpc/spufs: fix copy_to_user while atomic

Currently, we may perform a copy_to_user (through
simple_read_from_buffer()) while holding a context's register_lock,
while accessing the context save area.

This change uses a temporary buffer for the context save area data,
which we then pass to simple_read_from_buffer.

Includes changes from Christoph Hellwig <hch@lst.de>.

Fixes: bf1ab978be23 ("[POWERPC] coredump: Add SPU elf notes to coredump.")
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
[hch: renamed to function to avoid ___-prefixes]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
arch/powerpc/platforms/cell/spufs/file.c