@@ -1699,7 +1699,7 @@ static int test_hash_vec(const struct hash_testvec *vec, unsigned int vec_num,
1699
1699
* Assumes the buffers in 'vec' were already allocated.
1700
1700
*/
1701
1701
static void generate_random_hash_testvec (struct rnd_state * rng ,
1702
- struct shash_desc * desc ,
1702
+ struct ahash_request * req ,
1703
1703
struct hash_testvec * vec ,
1704
1704
unsigned int maxkeysize ,
1705
1705
unsigned int maxdatasize ,
@@ -1721,16 +1721,17 @@ static void generate_random_hash_testvec(struct rnd_state *rng,
1721
1721
vec -> ksize = prandom_u32_inclusive (rng , 1 , maxkeysize );
1722
1722
generate_random_bytes (rng , (u8 * )vec -> key , vec -> ksize );
1723
1723
1724
- vec -> setkey_error = crypto_shash_setkey ( desc -> tfm , vec -> key ,
1725
- vec -> ksize );
1724
+ vec -> setkey_error = crypto_ahash_setkey (
1725
+ crypto_ahash_reqtfm ( req ), vec -> key , vec -> ksize );
1726
1726
/* If the key couldn't be set, no need to continue to digest. */
1727
1727
if (vec -> setkey_error )
1728
1728
goto done ;
1729
1729
}
1730
1730
1731
1731
/* Digest */
1732
- vec -> digest_error = crypto_shash_digest (desc , vec -> plaintext ,
1733
- vec -> psize , (u8 * )vec -> digest );
1732
+ vec -> digest_error = crypto_hash_digest (
1733
+ crypto_ahash_reqtfm (req ), vec -> plaintext ,
1734
+ vec -> psize , (u8 * )vec -> digest );
1734
1735
done :
1735
1736
snprintf (name , max_namelen , "\"random: psize=%u ksize=%u\"" ,
1736
1737
vec -> psize , vec -> ksize );
@@ -1755,8 +1756,8 @@ static int test_hash_vs_generic_impl(const char *generic_driver,
1755
1756
const char * driver = crypto_ahash_driver_name (tfm );
1756
1757
struct rnd_state rng ;
1757
1758
char _generic_driver [CRYPTO_MAX_ALG_NAME ];
1758
- struct crypto_shash * generic_tfm = NULL ;
1759
- struct shash_desc * generic_desc = NULL ;
1759
+ struct ahash_request * generic_req = NULL ;
1760
+ struct crypto_ahash * generic_tfm = NULL ;
1760
1761
unsigned int i ;
1761
1762
struct hash_testvec vec = { 0 };
1762
1763
char vec_name [64 ];
@@ -1779,7 +1780,7 @@ static int test_hash_vs_generic_impl(const char *generic_driver,
1779
1780
if (strcmp (generic_driver , driver ) == 0 ) /* Already the generic impl? */
1780
1781
return 0 ;
1781
1782
1782
- generic_tfm = crypto_alloc_shash (generic_driver , 0 , 0 );
1783
+ generic_tfm = crypto_alloc_ahash (generic_driver , 0 , 0 );
1783
1784
if (IS_ERR (generic_tfm )) {
1784
1785
err = PTR_ERR (generic_tfm );
1785
1786
if (err == - ENOENT ) {
@@ -1798,27 +1799,25 @@ static int test_hash_vs_generic_impl(const char *generic_driver,
1798
1799
goto out ;
1799
1800
}
1800
1801
1801
- generic_desc = kzalloc (sizeof (* desc ) +
1802
- crypto_shash_descsize (generic_tfm ), GFP_KERNEL );
1803
- if (!generic_desc ) {
1802
+ generic_req = ahash_request_alloc (generic_tfm , GFP_KERNEL );
1803
+ if (!generic_req ) {
1804
1804
err = - ENOMEM ;
1805
1805
goto out ;
1806
1806
}
1807
- generic_desc -> tfm = generic_tfm ;
1808
1807
1809
1808
/* Check the algorithm properties for consistency. */
1810
1809
1811
- if (digestsize != crypto_shash_digestsize (generic_tfm )) {
1810
+ if (digestsize != crypto_ahash_digestsize (generic_tfm )) {
1812
1811
pr_err ("alg: hash: digestsize for %s (%u) doesn't match generic impl (%u)\n" ,
1813
1812
driver , digestsize ,
1814
- crypto_shash_digestsize (generic_tfm ));
1813
+ crypto_ahash_digestsize (generic_tfm ));
1815
1814
err = - EINVAL ;
1816
1815
goto out ;
1817
1816
}
1818
1817
1819
- if (blocksize != crypto_shash_blocksize (generic_tfm )) {
1818
+ if (blocksize != crypto_ahash_blocksize (generic_tfm )) {
1820
1819
pr_err ("alg: hash: blocksize for %s (%u) doesn't match generic impl (%u)\n" ,
1821
- driver , blocksize , crypto_shash_blocksize (generic_tfm ));
1820
+ driver , blocksize , crypto_ahash_blocksize (generic_tfm ));
1822
1821
err = - EINVAL ;
1823
1822
goto out ;
1824
1823
}
@@ -1837,7 +1836,7 @@ static int test_hash_vs_generic_impl(const char *generic_driver,
1837
1836
}
1838
1837
1839
1838
for (i = 0 ; i < fuzz_iterations * 8 ; i ++ ) {
1840
- generate_random_hash_testvec (& rng , generic_desc , & vec ,
1839
+ generate_random_hash_testvec (& rng , generic_req , & vec ,
1841
1840
maxkeysize , maxdatasize ,
1842
1841
vec_name , sizeof (vec_name ));
1843
1842
generate_random_testvec_config (& rng , cfg , cfgname ,
@@ -1855,8 +1854,8 @@ static int test_hash_vs_generic_impl(const char *generic_driver,
1855
1854
kfree (vec .key );
1856
1855
kfree (vec .plaintext );
1857
1856
kfree (vec .digest );
1858
- crypto_free_shash ( generic_tfm );
1859
- kfree_sensitive ( generic_desc );
1857
+ ahash_request_free ( generic_req );
1858
+ crypto_free_ahash ( generic_tfm );
1860
1859
return err ;
1861
1860
}
1862
1861
0 commit comments