Re: ahash - scheduling whilst atomic.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 26 Feb 2018 14:02:33 +0000
Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote:

> Hi All,

Please ignore - stupid bug in my code.

Sorry for the noise.

Jonathan
> 
> I seem to get much the same whether using af_alg or tcrypt to poke
> the support for ahashes that I just added to our driver.
> 
> Taking the af_alg path as that is the one I've chased further.
> We return -EINPROGRESS (along with it seems lots of other ahash
> implementations) if we have some data in flight. The hardware is
> asynchronous and we don't currently bother to check if it is
> already done or not (may do so later as an optimization).
> 
> In hash_sendmsg (algif_hash.c) we have
> 
> err = crypto_wait_req(crypto_ahash_update(&ctx->req), &ctx->wait);
> 
> Now crypto_wait does a wait_for_completion if it gets -EINPROGRESS
> from the crypto_ahash_update call.
> 
> Given hash_sendmsg is called from a socket we can't do a wait_for_completion
> here safely.  I note for the various wait calls in the equivalent skcipher code
> we drop through with an error if they would otherwise sleep.
> 
> I'm guessing that I'm missing something!  As far as I can tell the first
> few drivers I looked at caam_hash and crypto4xx do exactly the same thing
> I am doing (superficially anyway)...
> 
> Anyone have any thoughts?
> 
> Thanks,
> 
> Jonathan
> _______________________________________________
> Linuxarm mailing list
> Linuxarm@xxxxxxxxxx
> http://hulk.huawei.com/mailman/listinfo/linuxarm




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux