[S390] vmur: fix diag14_read.
authorFrank Munzert <munzert@de.ibm.com>
Fri, 27 Jul 2007 10:29:17 +0000 (12:29 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 27 Jul 2007 10:29:19 +0000 (12:29 +0200)
Record length of spool file must be only stored in 1st SPLINK record

Signed-off-by: Frank Munzert <munzert@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/char/vmur.c

index e90b0f8..161867c 100644 (file)
@@ -486,7 +486,7 @@ static ssize_t diag14_read(struct file *file, char __user *ubuf, size_t count,
                }
                if (rc)
                        goto fail;
-               if (reclen)
+               if (reclen && (copied == 0) && (*offs < PAGE_SIZE))
                        *((u16 *) &buf[FILE_RECLEN_OFFSET]) = reclen;
                len = min(count - copied, PAGE_SIZE - res);
                if (copy_to_user(ubuf + copied, buf + res, len)) {