i had a test install i could sacrifice, so i gave it a shot. this install had
-current base installed. i booted the patched kernel, and installed comp56.tgz.
everything seemed to work fine. rebooted into my non-test install, mounted the
test crypto partition, and sha1'd every hundredth file and compared against
originals, nothing seems amiss. is that a sufficient test?

On Mon, 20 Oct 2014 11:28:34 +1000 David Gwynne <da...@gwynne.id.au> wrote:
> the distinct impression i get is crypto_invoke is an internal
> abstraction to src/sys/crypto/crypto.c. it isnt documented in
> crypto(9), and is only used outside crypto by softraid. softraid
> should be calling crypto_dispatch with CRYPTO_F_NOQUEUE set if it
> wants/needs those semantics.
> 
> can a softraid crypto user test this for me?
> 
> Index: softraid_crypto.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/softraid_crypto.c,v
> retrieving revision 1.112
> diff -u -p -r1.112 softraid_crypto.c
> --- softraid_crypto.c 14 Sep 2014 14:17:24 -0000      1.112
> +++ softraid_crypto.c 20 Oct 2014 01:25:12 -0000
> @@ -1118,7 +1118,8 @@ sr_crypto_rw(struct sr_workunit *wu)
>       if (wu->swu_xs->flags & SCSI_DATA_OUT) {
>               crwu = sr_crypto_prepare(wu, 1);
>               crwu->cr_crp->crp_callback = sr_crypto_write;
> -             rv = crypto_invoke(crwu->cr_crp);
> +             crwu->cr_crp->crp_flags = CRYPTO_F_NOQUEUE;
> +             rv = crypto_dispatch(crwu->cr_crp);
>               if (rv == 0)
>                       rv = crwu->cr_crp->crp_etype;
>       } else
> @@ -1195,9 +1196,10 @@ sr_crypto_done(struct sr_workunit *wu)
>       if (ISSET(xs->flags, SCSI_DATA_IN) && xs->error == XS_NOERROR) {
>               crwu = sr_crypto_prepare(wu, 0);
>               crwu->cr_crp->crp_callback = sr_crypto_read;
> -             DNPRINTF(SR_D_INTR, "%s: sr_crypto_done: crypto_invoke %p\n",
> +             crwu->cr_crp->crp_flags = CRYPTO_F_NOQUEUE;
> +             DNPRINTF(SR_D_INTR, "%s: sr_crypto_done: crypto_dispatch %p\n",
>                   DEVNAME(wu->swu_dis->sd_sc), crwu->cr_crp);
> -             crypto_invoke(crwu->cr_crp);
> +             crypto_dispatch(crwu->cr_crp);
>               return;
>       }
>  
> 

Reply via email to