]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/x86/include/asm/checksum_32.h
Merge tag 'late-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[karo-tx-linux.git] / arch / x86 / include / asm / checksum_32.h
index 46fc474fd81960e7f1c345dd926fefd316cd2f04..f50de69517384b712c1266a3c98626b888d6953a 100644 (file)
@@ -49,9 +49,15 @@ static inline __wsum csum_partial_copy_from_user(const void __user *src,
                                                 int len, __wsum sum,
                                                 int *err_ptr)
 {
+       __wsum ret;
+
        might_sleep();
-       return csum_partial_copy_generic((__force void *)src, dst,
-                                        len, sum, err_ptr, NULL);
+       stac();
+       ret = csum_partial_copy_generic((__force void *)src, dst,
+                                       len, sum, err_ptr, NULL);
+       clac();
+
+       return ret;
 }
 
 /*
@@ -176,10 +182,16 @@ static inline __wsum csum_and_copy_to_user(const void *src,
                                           int len, __wsum sum,
                                           int *err_ptr)
 {
+       __wsum ret;
+
        might_sleep();
-       if (access_ok(VERIFY_WRITE, dst, len))
-               return csum_partial_copy_generic(src, (__force void *)dst,
-                                                len, sum, NULL, err_ptr);
+       if (access_ok(VERIFY_WRITE, dst, len)) {
+               stac();
+               ret = csum_partial_copy_generic(src, (__force void *)dst,
+                                               len, sum, NULL, err_ptr);
+               clac();
+               return ret;
+       }
 
        if (len)
                *err_ptr = -EFAULT;