Re: [PATCH] crypto: algif - Mark sgl end at the end of data.

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

 



On Fri, Nov 21, 2014 at 09:14:06AM -0800, Tadeusz Struk wrote:
>
> diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c
> index 85e3bdb..e393c71 100644
> --- a/crypto/algif_skcipher.c
> +++ b/crypto/algif_skcipher.c
> @@ -359,8 +359,6 @@ static int skcipher_sendmsg(struct kiocb *unused, struct socket *sock,
>  	err = 0;
>  
>  	ctx->more = msg->msg_flags & MSG_MORE;
> -	if (!ctx->more && !list_empty(&ctx->tsgl))
> -		sgl = list_entry(ctx->tsgl.prev, struct skcipher_sg_list, list);
>  
>  unlock:
>  	skcipher_data_wakeup(sk);
> @@ -408,9 +406,6 @@ static ssize_t skcipher_sendpage(struct socket *sock, struct page *page,
>  
>  done:
>  	ctx->more = flags & MSG_MORE;
> -	if (!ctx->more && !list_empty(&ctx->tsgl))
> -		sgl = list_entry(ctx->tsgl.prev, struct skcipher_sg_list, list);
> -
>  unlock:
>  	skcipher_data_wakeup(sk);
>  	release_sock(sk);

Please put these clean-ups in a separate patch.

> @@ -469,6 +464,7 @@ static int skcipher_recvmsg(struct kiocb *unused, struct socket *sock,
>  			if (!used)
>  				goto free;
>  
> +			sg_mark_end(&sg[sgl->cur - 1]);

I don't think this will work as if we only partially use up the
SGs and MSG_MORE is set then bad things will happen to the next
send call on the socket.

Cheers,
-- 
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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

  Powered by Linux