s390/checksum: remove memset() within csum_partial_copy_from_user()
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Mon, 24 Feb 2014 15:33:08 +0000 (16:33 +0100)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 24 Feb 2014 16:14:08 +0000 (17:14 +0100)
The memset() within csum_partial_copy_from_user() is rather pointless since
copy_from_user() already cleared the rest of the destination buffer if an
exception happened.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch/s390/include/asm/checksum.h

index 4f57a4f3909a1682822a61976cbc4e01f417dda5..7403648563554604e19b6cfbd0873bee868c7644 100644 (file)
@@ -44,22 +44,15 @@ csum_partial(const void *buff, int len, __wsum sum)
  * here even more important to align src and dst on a 32-bit (or even
  * better 64-bit) boundary
  *
- * Copy from userspace and compute checksum.  If we catch an exception
- * then zero the rest of the buffer.
+ * Copy from userspace and compute checksum.
  */
 static inline __wsum
 csum_partial_copy_from_user(const void __user *src, void *dst,
                                           int len, __wsum sum,
                                           int *err_ptr)
 {
-       int missing;
-
-       missing = copy_from_user(dst, src, len);
-       if (missing) {
-               memset(dst + len - missing, 0, missing);
+       if (unlikely(copy_from_user(dst, src, len)))
                *err_ptr = -EFAULT;
-       }
-               
        return csum_partial(dst, len, sum);
 }