Implement ->proc_read_buf() so procfs copies what is read to userspace
after it unpinned the entry.

Signed-off-by: Christian Brauner (Amutable) <[email protected]>
---
 arch/xtensa/platforms/iss/simdisk.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/xtensa/platforms/iss/simdisk.c 
b/arch/xtensa/platforms/iss/simdisk.c
index b2f9e7f3ade3..b597d8642e8a 100644
--- a/arch/xtensa/platforms/iss/simdisk.c
+++ b/arch/xtensa/platforms/iss/simdisk.c
@@ -234,7 +234,7 @@ static int simdisk_detach(struct simdisk *dev)
        return err;
 }
 
-static ssize_t proc_read_simdisk(struct file *file, char __user *buf,
+static ssize_t proc_read_simdisk(struct file *file, char *buf,
                        size_t size, loff_t *ppos)
 {
        struct simdisk *dev = pde_data(file_inode(file));
@@ -250,7 +250,7 @@ static ssize_t proc_read_simdisk(struct file *file, char 
__user *buf,
        len = scnprintf(temp, PAGE_SIZE + 2, "%s\n", dev->filename ?: "");
        spin_unlock(&dev->lock);
 
-       len = simple_read_from_buffer(buf, size, ppos, temp, len);
+       len = memory_read_from_buffer(buf, size, ppos, temp, len);
        kfree(temp);
        return len;
 }
@@ -280,7 +280,7 @@ static ssize_t proc_write_simdisk(struct file *file, char 
*buf,
 }
 
 static const struct proc_ops simdisk_proc_ops = {
-       .proc_read      = proc_read_simdisk,
+       .proc_read_buf  = proc_read_simdisk,
        .proc_write_buf = proc_write_simdisk,
        .proc_write_size = PAGE_SIZE,
        .proc_lseek     = default_llseek,

-- 
2.53.0


Reply via email to