Thread (14 messages) 14 messages, 3 authors, 2017-12-22

[PATCH RFC 1/4] crypto: engine - Permit to enqueue all async requests

From: clabbe.montjoie@gmail.com (Corentin Labbe)
Date: 2017-12-22 09:34:39
Also in: linux-crypto, lkml, virtualization

On Fri, Dec 22, 2017 at 08:06:03PM +1100, Herbert Xu wrote:
On Fri, Dec 22, 2017 at 09:41:48AM +0100, Corentin Labbe wrote:
quoted
It's you that was suggesting using crypto_async_request:
https://www.mail-archive.com/linux-kernel at vger.kernel.org/msg1474434.html
"The only wart with this scheme is that the drivers end up seeing
struct crypto_async_request and will need to convert that to the
respective request types but I couldn't really find a better way."

So I wait for any suggestion.
The core engine code obviously will use the base type but it should
not be exposed to the driver authors.  IOW all exposed API should
take the final types such as aead_request before casting it.
For driver->engine calls(crypto_finalize_request/crypto_transfer_request_to_engine) it's easy.

But I do not see how to do it for crypto_engine_op appart re-introducing the big if/then/else that
you didnt want.
Or do you agree to set the request parameter for crypto_engine_op(prepare_request/unprepare_request/do_one_request) to void * ?

Regards
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help