From a85bed020c1cc6daf2c9f52097c3dd9f11fa2404 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Sat, 25 Feb 2017 21:47:14 +0100 Subject: cyber_file: fix missing CYBER in copy --- src/cyber.c | 2 +- src/cyber_file.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/cyber.c b/src/cyber.c index c19d9ec..1df17e9 100644 --- a/src/cyber.c +++ b/src/cyber.c @@ -25,5 +25,5 @@ MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("Felix Morgner"); -MODULE_VERSION("42.1337.666"); +MODULE_VERSION("42.1337.1007"); MODULE_DESCRIPTION("Add CYBER to your system"); diff --git a/src/cyber_file.c b/src/cyber_file.c index deaed39..ad0fa21 100644 --- a/src/cyber_file.c +++ b/src/cyber_file.c @@ -41,11 +41,11 @@ ssize_t cyber_file_read(struct file * file, char __user * buffer, size_t size, l { int const cyberChunks = (size + PAGE_SIZE - 1) / PAGE_SIZE; int const cybersPerChunk = (size > PAGE_SIZE ? PAGE_SIZE : size) / 8; - int remainingChunks = cyberChunks; + int copiedCybers = 0; - for(; remainingChunks > 0; --remainingChunks) + for(; copiedCybers < cyberChunks; ++copiedCybers) { - if(copy_to_user(buffer, cyberSpace, cybersPerChunk * 8)) + if(copy_to_user(buffer + copiedCybers * PAGE_SIZE, cyberSpace, cybersPerChunk * 8)) { return -EFAULT; } -- cgit v1.2.3