Commit 783fa2c9 authored by Eric Biggers's avatar Eric Biggers Committed by Steve French
Browse files

smb: use crypto_shash_digest() in symlink_hash()



Simplify symlink_hash() by using crypto_shash_digest() instead of an
init+update+final sequence.  This should also improve performance.

Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
Reviewed-by: default avatarPaulo Alcantara (SUSE) <pc@manguebit.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent d328c09e
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -42,23 +42,11 @@ symlink_hash(unsigned int link_len, const char *link_str, u8 *md5_hash)

	rc = cifs_alloc_hash("md5", &md5);
	if (rc)
		goto symlink_hash_err;
		return rc;

	rc = crypto_shash_init(md5);
	if (rc) {
		cifs_dbg(VFS, "%s: Could not init md5 shash\n", __func__);
		goto symlink_hash_err;
	}
	rc = crypto_shash_update(md5, link_str, link_len);
	if (rc) {
		cifs_dbg(VFS, "%s: Could not update with link_str\n", __func__);
		goto symlink_hash_err;
	}
	rc = crypto_shash_final(md5, md5_hash);
	rc = crypto_shash_digest(md5, link_str, link_len, md5_hash);
	if (rc)
		cifs_dbg(VFS, "%s: Could not generate md5 hash\n", __func__);

symlink_hash_err:
	cifs_free_hash(&md5);
	return rc;
}