Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 10 Feb 2018 03:22:17 +0000 (19:22 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 10 Feb 2018 03:22:17 +0000 (19:22 -0800)
Pull misc vfs fixes from Al Viro.

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  seq_file: fix incomplete reset on read from zero offset
  kernfs: fix regression in kernfs_fop_write caused by wrong type

fs/kernfs/file.c
fs/seq_file.c

index c53d9cc5ae7a4eaf2a40f69305bf96928b3f3f8b..a03ce34225787fdbdeb720f8ad31d46495a93ed7 100644 (file)
@@ -275,7 +275,7 @@ static ssize_t kernfs_fop_write(struct file *file, const char __user *user_buf,
 {
        struct kernfs_open_file *of = kernfs_of(file);
        const struct kernfs_ops *ops;
-       size_t len;
+       ssize_t len;
        char *buf;
 
        if (of->atomic_write_len) {
index 4be761c1a03d1f1dee3fb024a36c45e56df909af..eea09f6d883056b8e6fcc0aad857ab1a76fdb3f1 100644 (file)
@@ -181,8 +181,11 @@ ssize_t seq_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
         * if request is to read from zero offset, reset iterator to first
         * record as it might have been already advanced by previous requests
         */
-       if (*ppos == 0)
+       if (*ppos == 0) {
                m->index = 0;
+               m->version = 0;
+               m->count = 0;
+       }
 
        /* Don't assume *ppos is where we left it */
        if (unlikely(*ppos != m->read_pos)) {