@@ -315,16 +315,7 @@ EXPORT_SYMBOL_GPL(crypto_ahash_setkey);
315
315
316
316
static bool ahash_request_hasvirt (struct ahash_request * req )
317
317
{
318
- struct ahash_request * r2 ;
319
-
320
- if (ahash_request_isvirt (req ))
321
- return true;
322
-
323
- list_for_each_entry (r2 , & req -> base .list , base .list )
324
- if (ahash_request_isvirt (r2 ))
325
- return true;
326
-
327
- return false;
318
+ return ahash_request_isvirt (req );
328
319
}
329
320
330
321
static int ahash_reqchain_virt (struct ahash_save_req_state * state ,
@@ -472,7 +463,6 @@ static int ahash_do_req_chain(struct ahash_request *req,
472
463
bool update = op == crypto_ahash_alg (tfm )-> update ;
473
464
struct ahash_save_req_state * state ;
474
465
struct ahash_save_req_state state0 ;
475
- struct ahash_request * r2 ;
476
466
u8 * page = NULL ;
477
467
int err ;
478
468
@@ -509,7 +499,6 @@ static int ahash_do_req_chain(struct ahash_request *req,
509
499
state -> offset = 0 ;
510
500
state -> nbytes = 0 ;
511
501
INIT_LIST_HEAD (& state -> head );
512
- list_splice_init (& req -> base .list , & state -> head );
513
502
514
503
if (page )
515
504
sg_init_one (& state -> sg , page , PAGE_SIZE );
@@ -540,9 +529,6 @@ static int ahash_do_req_chain(struct ahash_request *req,
540
529
541
530
out_set_chain :
542
531
req -> base .err = err ;
543
- list_for_each_entry (r2 , & req -> base .list , base .list )
544
- r2 -> base .err = err ;
545
-
546
532
return err ;
547
533
}
548
534
@@ -551,19 +537,10 @@ int crypto_ahash_init(struct ahash_request *req)
551
537
struct crypto_ahash * tfm = crypto_ahash_reqtfm (req );
552
538
553
539
if (likely (tfm -> using_shash )) {
554
- struct ahash_request * r2 ;
555
540
int err ;
556
541
557
542
err = crypto_shash_init (prepare_shash_desc (req , tfm ));
558
543
req -> base .err = err ;
559
-
560
- list_for_each_entry (r2 , & req -> base .list , base .list ) {
561
- struct shash_desc * desc ;
562
-
563
- desc = prepare_shash_desc (r2 , tfm );
564
- r2 -> base .err = crypto_shash_init (desc );
565
- }
566
-
567
544
return err ;
568
545
}
569
546
@@ -620,19 +597,10 @@ int crypto_ahash_update(struct ahash_request *req)
620
597
struct crypto_ahash * tfm = crypto_ahash_reqtfm (req );
621
598
622
599
if (likely (tfm -> using_shash )) {
623
- struct ahash_request * r2 ;
624
600
int err ;
625
601
626
602
err = shash_ahash_update (req , ahash_request_ctx (req ));
627
603
req -> base .err = err ;
628
-
629
- list_for_each_entry (r2 , & req -> base .list , base .list ) {
630
- struct shash_desc * desc ;
631
-
632
- desc = ahash_request_ctx (r2 );
633
- r2 -> base .err = shash_ahash_update (r2 , desc );
634
- }
635
-
636
604
return err ;
637
605
}
638
606
@@ -645,19 +613,10 @@ int crypto_ahash_final(struct ahash_request *req)
645
613
struct crypto_ahash * tfm = crypto_ahash_reqtfm (req );
646
614
647
615
if (likely (tfm -> using_shash )) {
648
- struct ahash_request * r2 ;
649
616
int err ;
650
617
651
618
err = crypto_shash_final (ahash_request_ctx (req ), req -> result );
652
619
req -> base .err = err ;
653
-
654
- list_for_each_entry (r2 , & req -> base .list , base .list ) {
655
- struct shash_desc * desc ;
656
-
657
- desc = ahash_request_ctx (r2 );
658
- r2 -> base .err = crypto_shash_final (desc , r2 -> result );
659
- }
660
-
661
620
return err ;
662
621
}
663
622
@@ -670,19 +629,10 @@ int crypto_ahash_finup(struct ahash_request *req)
670
629
struct crypto_ahash * tfm = crypto_ahash_reqtfm (req );
671
630
672
631
if (likely (tfm -> using_shash )) {
673
- struct ahash_request * r2 ;
674
632
int err ;
675
633
676
634
err = shash_ahash_finup (req , ahash_request_ctx (req ));
677
635
req -> base .err = err ;
678
-
679
- list_for_each_entry (r2 , & req -> base .list , base .list ) {
680
- struct shash_desc * desc ;
681
-
682
- desc = ahash_request_ctx (r2 );
683
- r2 -> base .err = shash_ahash_finup (r2 , desc );
684
- }
685
-
686
636
return err ;
687
637
}
688
638
@@ -757,19 +707,10 @@ int crypto_ahash_digest(struct ahash_request *req)
757
707
struct crypto_ahash * tfm = crypto_ahash_reqtfm (req );
758
708
759
709
if (likely (tfm -> using_shash )) {
760
- struct ahash_request * r2 ;
761
710
int err ;
762
711
763
712
err = shash_ahash_digest (req , prepare_shash_desc (req , tfm ));
764
713
req -> base .err = err ;
765
-
766
- list_for_each_entry (r2 , & req -> base .list , base .list ) {
767
- struct shash_desc * desc ;
768
-
769
- desc = prepare_shash_desc (r2 , tfm );
770
- r2 -> base .err = shash_ahash_digest (r2 , desc );
771
- }
772
-
773
714
return err ;
774
715
}
775
716
@@ -1133,20 +1074,5 @@ int ahash_register_instance(struct crypto_template *tmpl,
1133
1074
}
1134
1075
EXPORT_SYMBOL_GPL (ahash_register_instance );
1135
1076
1136
- void ahash_request_free (struct ahash_request * req )
1137
- {
1138
- struct ahash_request * tmp ;
1139
- struct ahash_request * r2 ;
1140
-
1141
- if (unlikely (!req ))
1142
- return ;
1143
-
1144
- list_for_each_entry_safe (r2 , tmp , & req -> base .list , base .list )
1145
- kfree_sensitive (r2 );
1146
-
1147
- kfree_sensitive (req );
1148
- }
1149
- EXPORT_SYMBOL_GPL (ahash_request_free );
1150
-
1151
1077
MODULE_LICENSE ("GPL" );
1152
1078
MODULE_DESCRIPTION ("Asynchronous cryptographic hash type" );
0 commit comments