Thread (14 messages) 14 messages, 2 authors, 2014-12-31

Re: [PATCH v6 1/4] crypto: AF_ALG: add AEAD support

From: Stephan Mueller <hidden>
Date: 2014-12-30 21:30:33
Also in: linux-crypto, lkml

Am Dienstag, 30. Dezember 2014, 04:33:41 schrieb Herbert Xu:

Hi Herbert,
On Mon, Dec 29, 2014 at 04:05:40PM +0100, Stephan Mueller wrote:
quoted
This would mean that the check must stay in recvmsg as only here we know
that the caller wants data to be processed.
On the send side you would do the check when MSG_MORE is unset.
On the receive side you should stop waiting only when ctx->more
is false and the send-side check succeeded.

Perhaps rename ctx->more to ctx->done and then you can use it
to indicate to the receive side that we're ready and have valid
data for it.  The receive side can then simply wait for ctx->done
to become true.
I followed your advise and changed the sleep to wait for !ctx->more. Together 
with the patch suggested below that was just released, I removed aead_readable 
and aead_sufficient_data.

Though, I did not rename ctx->more to ctx->done due to the following:

- other AF_ALG implementations use ctx->more -- to aid code reviewers, I want 
to keep the logic as close together as possible

- I do not want to negate the check for MSG_MORE -- at least for me, negating 
flags always twists my mind when reading code.

The patch will come shortly after I tested all thoroughly.
quoted
quoted
PS we should add a length check for missing/partial auth tags
to crypto_aead_decrypt.  We can then remove such checks from
individual implementations.
I agree in full here. Shall I create such a patch together with the AEAD
AF_ALG interface, or can we merge the AEAD without that patch now and
create a separate patch later?
We should at least add a check in crypto_aead_decrypt first so as
to guarantee nothing slips through.

Thanks,

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