Merge remote-tracking branches 'regulator/fix/as3722', 'regulator/fix/ltc3589' and...
[firefly-linux-kernel-4.4.55.git] / drivers / char / mem.c
index 92c5937f80c33acac907dccb2377b6157721b33c..917403fe10da3eb62c0548bb29a2f0d898c8400a 100644 (file)
@@ -99,6 +99,9 @@ static ssize_t read_mem(struct file *file, char __user *buf,
        ssize_t read, sz;
        char *ptr;
 
+       if (p != *ppos)
+               return 0;
+
        if (!valid_phys_addr_range(p, count))
                return -EFAULT;
        read = 0;
@@ -157,6 +160,9 @@ static ssize_t write_mem(struct file *file, const char __user *buf,
        unsigned long copied;
        void *ptr;
 
+       if (p != *ppos)
+               return -EFBIG;
+
        if (!valid_phys_addr_range(p, count))
                return -EFAULT;