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

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

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2014-12-05 15:46:21
Also in: linux-crypto, lkml

On Wed, Dec 03, 2014 at 08:57:24PM +0100, Stephan Mueller wrote:
+	if (ctx->merge) {
+		sg = sgl->sg + sgl->cur - 1;
+		len = min_t(unsigned long, len,
+			    PAGE_SIZE - sg->offset - sg->length);
+
+		err = memcpy_fromiovec(page_address(sg_page(sg)) +
+				       sg->offset + sg->length,
+				       msg->msg_iov, len);
+		if (err)
+			goto unlock;
+
+		sg->length += len;
+		ctx->merge = (sg->offset + sg->length) & (PAGE_SIZE - 1);
+
+		ctx->used += len;
+		copied += len;
+		size -= len;
+	}
Any reason why you got rid of the outer loop here? This will cause
short writes I think.
+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.

Thanks,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help