Thread (15 messages) 15 messages, 2 authors, 2014-12-07

Re: [PATCH v4 2/5] crypto: AF_ALG: add AEAD support

From: Stephan Mueller <hidden>
Date: 2014-12-06 20:09:00
Also in: linux-crypto, lkml

Am Freitag, 5. Dezember 2014, 22:51:51 schrieb Stephan Mueller:

Hi Herbert,
quoted
quoted
+static struct proto_ops algif_aead_ops = {
+	.family		=	PF_ALG,
+
+	.connect	=	sock_no_connect,
+	.socketpair	=	sock_no_socketpair,
+	.getname	=	sock_no_getname,
+	.ioctl		=	sock_no_ioctl,
+	.listen		=	sock_no_listen,
+	.shutdown	=	sock_no_shutdown,
+	.getsockopt	=	sock_no_getsockopt,
+	.mmap		=	sock_no_mmap,
+	.bind		=	sock_no_bind,
+	.accept		=	sock_no_accept,
+
+	.release	=	af_alg_release,
+	.sendmsg	=	aead_sendmsg,
+	.sendpage	=	aead_sendpage,
+	.recvmsg	=	aead_recvmsg,
+	.poll		=	aead_poll,
+	.setsockopt	=	aead_setsockopt,
No it should go into the parent setsockopt.  Perhaps add a setsockopt
to af_alg_type in order to keep this out of the generic code.
I was thinking about that for quite a while. My thought for the current
approach was that the actual cipher operation happens in the child FD (i.e.
after accept). AAD is delivered to that FD. Therefore, I thought that the
size of the AAD can be specific to that operational FD.

If we move it to the parent setsockopt, all child FDs have the same AAD
size. If you think that this is the right course of action, I can surely
implement that.

Would you please be so kind and help me understand when some operations are
intended for the parent FD and when for the child FD?
While implementing that request, I thought about setting the auth size as part 
of the msg control in sendmsg instead of setsockopt. This would save us a 
system call and thus CPU cycles.

Thus may I propose that instead of using setsockopt,  ALG_SET_AEAD_AUTHSIZE 
should be added to af_alg_cmsg_send the same way as ALG_SET_AEAD_ASSOCLEN.

Along that line, wouldn't it make sense to get rid of the setsockopt in 
general and move even setting the key into the msg control and thus into 
af_alg_cmsg_send? I understand that this is a change to the user space API.

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