Re: [PATCH] crypto: omap-sham: Map SG pages if they are HIGHMEM before accessing

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

 



Gentle ping for this fix patch. Could it be accepted for -rc? Thanks.

-Joel

On 01/28/2014 05:43 PM, Joel Fernandes wrote:
> HIGHMEM pages may not be mapped so we must kmap them before accessing.
> This resolves a random OOPs error that was showing up during OpenSSL SHA tests.
> 
> Signed-off-by: Joel Fernandes <joelf@xxxxxx>
> ---
>  drivers/crypto/omap-sham.c |   12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/crypto/omap-sham.c b/drivers/crypto/omap-sham.c
> index 8bdde57..fcf6562 100644
> --- a/drivers/crypto/omap-sham.c
> +++ b/drivers/crypto/omap-sham.c
> @@ -636,11 +636,21 @@ static size_t omap_sham_append_buffer(struct omap_sham_reqctx *ctx,
>  static size_t omap_sham_append_sg(struct omap_sham_reqctx *ctx)
>  {
>  	size_t count;
> +	const u8 *vaddr;
>  
>  	while (ctx->sg) {
> +		if (PageHighMem(sg_page(ctx->sg)))
> +			vaddr = kmap_atomic(sg_page(ctx->sg));
> +		else
> +			vaddr = sg_virt(ctx->sg);
> +
>  		count = omap_sham_append_buffer(ctx,
> -				sg_virt(ctx->sg) + ctx->offset,
> +				vaddr + ctx->offset,
>  				ctx->sg->length - ctx->offset);
> +
> +		if (PageHighMem(sg_page(ctx->sg)))
> +			kunmap_atomic((void *)vaddr);
> +
>  		if (!count)
>  			break;
>  		ctx->offset += count;
> 

--
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