summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
fd82b67)
Commit
353e3c2f8d9f195c0f87a16259f22b2f84de11d4 that introduced cryptoapi
support to Lustre is allocating a hdesc in cfs_crypto_hash_init and never
freeing it.
This function is called every time a checksum needs to be calculated,
so on every bulk RPC send or receive, so even though allocations are small,
they tend to still quickly consume all available memory with any significant
amount of IO.
Change-Id: Ic654c6102ea4306a81c1f7592c81cfb6e597f1f2
Signed-off-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: http://review.whamcloud.com/4135
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alexander Boyko <alexander_boyko@xyratex.com>
if (hash_len == NULL) {
crypto_free_hash(((struct hash_desc *)hdesc)->tfm);
if (hash_len == NULL) {
crypto_free_hash(((struct hash_desc *)hdesc)->tfm);
return 0;
}
if (hash == NULL || *hash_len < size) {
return 0;
}
if (hash == NULL || *hash_len < size) {
return err;
}
crypto_free_hash(((struct hash_desc *)hdesc)->tfm);
return err;
}
crypto_free_hash(((struct hash_desc *)hdesc)->tfm);
return err;
}
EXPORT_SYMBOL(cfs_crypto_hash_final);
return err;
}
EXPORT_SYMBOL(cfs_crypto_hash_final);