summary refs log tree commit diff
path: root/drivers/s390
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>2013-04-19 18:03:02 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2013-04-23 10:18:07 +0200
commit241fd9bcbc10c144531e88b5e3a62bc11090e5e4 (patch)
tree303ab61c82877bf1572509b49ba964152864e7f0 /drivers/s390
parentab8e5235868f99dfc779e4eaff28f53d63714ce4 (diff)
downloadlinux-241fd9bcbc10c144531e88b5e3a62bc11090e5e4.tar.gz
s390/zcore: Fix HSA copy length for last block
Currently always one page is copied to a user buffer for the last
HSA block in memcpy_hsa(). Now the correct length is used.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390')
-rw-r--r--drivers/s390/char/zcore.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/s390/char/zcore.c b/drivers/s390/char/zcore.c
index 1d61a01576d2..22820610022c 100644
--- a/drivers/s390/char/zcore.c
+++ b/drivers/s390/char/zcore.c
@@ -127,7 +127,7 @@ static int memcpy_hsa(void *dest, unsigned long src, size_t count, int mode)
 	}
 	if (mode == TO_USER) {
 		if (copy_to_user((__force __user void*) dest + offs, buf,
-				 PAGE_SIZE))
+				 count - offs))
 			return -EFAULT;
 	} else
 		memcpy(dest + offs, buf, count - offs);