summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2014-10-13 14:19:47 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2014-10-13 14:19:47 +1100
commit9a93d04ee06f8ae9e21ceac4a8d3f704a4f697b5 (patch)
tree36c1a9646187735278a4ccccd9768c99b8c8ff08 /fs
parent6560206322ae9612f38e487af83e704c1f1e2f7c (diff)
parentec25a590c29cc86541e7919fbfb008203497f89f (diff)
Merge remote-tracking branch 'llvmlinux/for-next'
Diffstat (limited to 'fs')
-rw-r--r--fs/btrfs/hash.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/fs/btrfs/hash.c b/fs/btrfs/hash.c
index 64f15bb30a81..aae520b2aee5 100644
--- a/fs/btrfs/hash.c
+++ b/fs/btrfs/hash.c
@@ -31,18 +31,16 @@ void btrfs_hash_exit(void)
u32 btrfs_crc32c(u32 crc, const void *address, unsigned int length)
{
- struct {
- struct shash_desc shash;
- char ctx[crypto_shash_descsize(tfm)];
- } desc;
+ SHASH_DESC_ON_STACK(shash, tfm);
+ u32 *ctx = (u32 *)shash_desc_ctx(shash);
int err;
- desc.shash.tfm = tfm;
- desc.shash.flags = 0;
- *(u32 *)desc.ctx = crc;
+ shash->tfm = tfm;
+ shash->flags = 0;
+ *ctx = crc;
- err = crypto_shash_update(&desc.shash, address, length);
+ err = crypto_shash_update(shash, address, length);
BUG_ON(err);
- return *(u32 *)desc.ctx;
+ return *ctx;
}