Re: [PATCH v5 4/4] crypto: Add Allwinner Security System crypto accelerator

From: Maxime Ripard
Date: Thu Oct 30 2014 - 13:20:18 EST


On Fri, Oct 24, 2014 at 08:52:26PM +0200, Corentin LABBE wrote:
> On 10/21/14 21:11, Maxime Ripard wrote:
> > Hi Corentin,
> >
> > Thanks for resending it.
> >
> > On Sun, Oct 19, 2014 at 04:16:22PM +0200, LABBE Corentin wrote:
> >> Add support for the Security System included in Allwinner SoC A20.
> >> The Security System is a hardware cryptographic accelerator that support AES/MD5/SHA1/DES/3DES/PRNG algorithms.
> >>
> >> Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx>
> >> ---
> >> drivers/crypto/Kconfig | 17 ++
> >> +static int sunxi_ss_aes_poll_atomic(struct ablkcipher_request *areq)
> >> +{
> >> + u32 spaces;
> >> + struct scatterlist *in_sg = areq->src;
> >> + struct scatterlist *out_sg = areq->dst;
> >> + void *src_addr;
> >> + void *dst_addr;
> >> + unsigned int ileft = areq->nbytes;
> >> + unsigned int oleft = areq->nbytes;
> >> + unsigned int todo;
> >> + u32 *src32;
> >> + u32 *dst32;
> >> + u32 rx_cnt = 32;
> >> + u32 tx_cnt = 0;
> >> + int i;
> >> +
> >> + src_addr = kmap_atomic(sg_page(in_sg)) + in_sg->offset;
> >
> > Where does this scatter_list is coming from? Can it even be allocated
> > in highmem?
> >
>
> With AF_ALG and cryptodev, the SG is in highmem. Verified with some
> PageHighMem().

Then fix AF_ALG and cryptodev, because all of the other drivers might
be affected.

Thanks!
Maxime

--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

Attachment: signature.asc
Description: Digital signature