On Tue, Dec 13, 2016 at 09:42:45PM +0100, Stephan Müller wrote:
>
> +             /*
> +              * The async operation may have processed only a subset of
> +              * the data that was initially received from the caller.
> +              * Thus, we only can release the data that a cipher operation
> +              * processed.
> +              */
> +             if (len < sg->length) {
> +                     /* ensure that empty SGLs are not referenced any more */
> +                     sreq->tsg = sg;

Hmm if you change sreq->tsg how is the original tsg ever going to
get freed?

> +
> +                     /* advance the buffers to the unprocessed data */
> +                     sg->length -= len;
> +                     sg->offset += len;
> +                     return;
> +             }
> +
> +             len -= sg->length;
> +             put_page(page);
> +     }
>  
>       kfree(sreq->tsg);

Thanks,
-- 
Email: Herbert Xu <herb...@gondor.apana.org.au>
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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to