diff options
author | 2013-04-19 18:03:02 +0200 | |
---|---|---|
committer | 2013-04-23 10:18:07 +0200 | |
commit | 241fd9bcbc10c144531e88b5e3a62bc11090e5e4 (patch) | |
tree | 303ab61c82877bf1572509b49ba964152864e7f0 /drivers/s390/char/zcore.c | |
parent | s390/mm,gmap: segment mapping race (diff) | |
download | linux-241fd9bcbc10c144531e88b5e3a62bc11090e5e4.tar.gz linux-241fd9bcbc10c144531e88b5e3a62bc11090e5e4.tar.bz2 linux-241fd9bcbc10c144531e88b5e3a62bc11090e5e4.zip |
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/char/zcore.c')
-rw-r--r-- | drivers/s390/char/zcore.c | 2 |
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); |