@@ -1020,8 +1020,7 @@ static int iaa_remap_for_verify(struct device *dev, struct iaa_wq *iaa_wq,
10201020static int iaa_compress_verify (struct crypto_tfm * tfm , struct acomp_req * req ,
10211021 struct idxd_wq * wq ,
10221022 dma_addr_t src_addr , unsigned int slen ,
1023- dma_addr_t dst_addr , unsigned int * dlen ,
1024- u32 compression_crc );
1023+ dma_addr_t dst_addr , unsigned int * dlen );
10251024
10261025static void iaa_desc_complete (struct idxd_desc * idxd_desc ,
10271026 enum idxd_complete_type comp_type ,
@@ -1087,10 +1086,10 @@ static void iaa_desc_complete(struct idxd_desc *idxd_desc,
10871086 }
10881087
10891088 if (ctx -> compress && compression_ctx -> verify_compress ) {
1089+ u32 * compression_crc = acomp_request_ctx (ctx -> req );
10901090 dma_addr_t src_addr , dst_addr ;
1091- u32 compression_crc ;
10921091
1093- compression_crc = idxd_desc -> iax_completion -> crc ;
1092+ * compression_crc = idxd_desc -> iax_completion -> crc ;
10941093
10951094 ret = iaa_remap_for_verify (dev , iaa_wq , ctx -> req , & src_addr , & dst_addr );
10961095 if (ret ) {
@@ -1100,8 +1099,7 @@ static void iaa_desc_complete(struct idxd_desc *idxd_desc,
11001099 }
11011100
11021101 ret = iaa_compress_verify (ctx -> tfm , ctx -> req , iaa_wq -> wq , src_addr ,
1103- ctx -> req -> slen , dst_addr , & ctx -> req -> dlen ,
1104- compression_crc );
1102+ ctx -> req -> slen , dst_addr , & ctx -> req -> dlen );
11051103 if (ret ) {
11061104 dev_dbg (dev , "%s: compress verify failed ret=%d\n" , __func__ , ret );
11071105 err = - EIO ;
@@ -1130,11 +1128,11 @@ static void iaa_desc_complete(struct idxd_desc *idxd_desc,
11301128static int iaa_compress (struct crypto_tfm * tfm , struct acomp_req * req ,
11311129 struct idxd_wq * wq ,
11321130 dma_addr_t src_addr , unsigned int slen ,
1133- dma_addr_t dst_addr , unsigned int * dlen ,
1134- u32 * compression_crc )
1131+ dma_addr_t dst_addr , unsigned int * dlen )
11351132{
11361133 struct iaa_device_compression_mode * active_compression_mode ;
11371134 struct iaa_compression_ctx * ctx = crypto_tfm_ctx (tfm );
1135+ u32 * compression_crc = acomp_request_ctx (req );
11381136 struct iaa_device * iaa_device ;
11391137 struct idxd_desc * idxd_desc ;
11401138 struct iax_hw_desc * desc ;
@@ -1282,11 +1280,11 @@ static int iaa_remap_for_verify(struct device *dev, struct iaa_wq *iaa_wq,
12821280static int iaa_compress_verify (struct crypto_tfm * tfm , struct acomp_req * req ,
12831281 struct idxd_wq * wq ,
12841282 dma_addr_t src_addr , unsigned int slen ,
1285- dma_addr_t dst_addr , unsigned int * dlen ,
1286- u32 compression_crc )
1283+ dma_addr_t dst_addr , unsigned int * dlen )
12871284{
12881285 struct iaa_device_compression_mode * active_compression_mode ;
12891286 struct iaa_compression_ctx * ctx = crypto_tfm_ctx (tfm );
1287+ u32 * compression_crc = acomp_request_ctx (req );
12901288 struct iaa_device * iaa_device ;
12911289 struct idxd_desc * idxd_desc ;
12921290 struct iax_hw_desc * desc ;
@@ -1346,10 +1344,10 @@ static int iaa_compress_verify(struct crypto_tfm *tfm, struct acomp_req *req,
13461344 goto err ;
13471345 }
13481346
1349- if (compression_crc != idxd_desc -> iax_completion -> crc ) {
1347+ if (* compression_crc != idxd_desc -> iax_completion -> crc ) {
13501348 ret = - EINVAL ;
13511349 dev_dbg (dev , "(verify) iaa comp/decomp crc mismatch:"
1352- " comp=0x%x, decomp=0x%x\n" , compression_crc ,
1350+ " comp=0x%x, decomp=0x%x\n" , * compression_crc ,
13531351 idxd_desc -> iax_completion -> crc );
13541352 print_hex_dump (KERN_INFO , "cmp-rec: " , DUMP_PREFIX_OFFSET ,
13551353 8 , 1 , idxd_desc -> iax_completion , 64 , 0 );
@@ -1496,7 +1494,6 @@ static int iaa_comp_acompress(struct acomp_req *req)
14961494 dma_addr_t src_addr , dst_addr ;
14971495 int nr_sgs , cpu , ret = 0 ;
14981496 struct iaa_wq * iaa_wq ;
1499- u32 compression_crc ;
15001497 struct idxd_wq * wq ;
15011498 struct device * dev ;
15021499
@@ -1557,7 +1554,7 @@ static int iaa_comp_acompress(struct acomp_req *req)
15571554 req -> dst , req -> dlen , sg_dma_len (req -> dst ));
15581555
15591556 ret = iaa_compress (tfm , req , wq , src_addr , req -> slen , dst_addr ,
1560- & req -> dlen , & compression_crc );
1557+ & req -> dlen );
15611558 if (ret == - EINPROGRESS )
15621559 return ret ;
15631560
@@ -1569,7 +1566,7 @@ static int iaa_comp_acompress(struct acomp_req *req)
15691566 }
15701567
15711568 ret = iaa_compress_verify (tfm , req , wq , src_addr , req -> slen ,
1572- dst_addr , & req -> dlen , compression_crc );
1569+ dst_addr , & req -> dlen );
15731570 if (ret )
15741571 dev_dbg (dev , "asynchronous compress verification failed ret=%d\n" , ret );
15751572
@@ -1694,6 +1691,7 @@ static struct acomp_alg iaa_acomp_fixed_deflate = {
16941691 .init = iaa_comp_init_fixed ,
16951692 .compress = iaa_comp_acompress ,
16961693 .decompress = iaa_comp_adecompress ,
1694+ .reqsize = sizeof (u32 ),
16971695 .base = {
16981696 .cra_name = "deflate" ,
16991697 .cra_driver_name = "deflate-iaa" ,
0 commit comments