summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2017-07-05 10:17:26 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2017-07-05 10:17:26 +0300
commit035f901eac4d2d0fd40f3055026355d55d46949f (patch)
tree26e818b4365af13540927e3e44916cf228d1262c /fs
parentbcf741cb779283081db47853264cc94854e7ad83 (diff)
parent019d62db54017f4639fd7d4f6592f5a116a16695 (diff)
downloadlinux-035f901eac4d2d0fd40f3055026355d55d46949f.tar.xz
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Merge the crypto tree to pull in fixes for the next merge window.
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/hash.c5
-rw-r--r--fs/f2fs/f2fs.h5
2 files changed, 8 insertions, 2 deletions
diff --git a/fs/btrfs/hash.c b/fs/btrfs/hash.c
index a97fdc156a03..baacc1866861 100644
--- a/fs/btrfs/hash.c
+++ b/fs/btrfs/hash.c
@@ -38,6 +38,7 @@ u32 btrfs_crc32c(u32 crc, const void *address, unsigned int length)
{
SHASH_DESC_ON_STACK(shash, tfm);
u32 *ctx = (u32 *)shash_desc_ctx(shash);
+ u32 retval;
int err;
shash->tfm = tfm;
@@ -47,5 +48,7 @@ u32 btrfs_crc32c(u32 crc, const void *address, unsigned int length)
err = crypto_shash_update(shash, address, length);
BUG_ON(err);
- return *ctx;
+ retval = *ctx;
+ barrier_data(ctx);
+ return retval;
}
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 2185c7a040a1..fd2e651bad6d 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1078,6 +1078,7 @@ static inline u32 f2fs_crc32(struct f2fs_sb_info *sbi, const void *address,
{
SHASH_DESC_ON_STACK(shash, sbi->s_chksum_driver);
u32 *ctx = (u32 *)shash_desc_ctx(shash);
+ u32 retval;
int err;
shash->tfm = sbi->s_chksum_driver;
@@ -1087,7 +1088,9 @@ static inline u32 f2fs_crc32(struct f2fs_sb_info *sbi, const void *address,
err = crypto_shash_update(shash, address, length);
BUG_ON(err);
- return *ctx;
+ retval = *ctx;
+ barrier_data(ctx);
+ return retval;
}
static inline bool f2fs_crc_valid(struct f2fs_sb_info *sbi, __u32 blk_crc,