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

From: Maxime Ripard
Date: Mon Nov 03 2014 - 04:35:12 EST


On Fri, Oct 31, 2014 at 06:05:22PM +0800, Herbert Xu wrote:
> On Fri, Oct 31, 2014 at 10:57:06AM +0100, Maxime Ripard wrote:
> >
> > On a 3.18-rc2 kernel:
> >
> > $ git grep kmap -- crypto/
> > crypto/ahash.c: walk->data = kmap(walk->pg);
> > crypto/ahash.c: walk->data = kmap_atomic(walk->pg);
> > crypto/async_tx/async_memcpy.c: dest_buf = kmap_atomic(dest) + dest_offset;
> > crypto/async_tx/async_memcpy.c: src_buf = kmap_atomic(src) + src_offset;
> > crypto/scatterwalk.c: return kmap_atomic(scatterwalk_page(walk)) +
> > crypto/shash.c: data = kmap_atomic(sg_page(sg));
> > crypto/shash.c: data = kmap_atomic(sg_page(sg));
> >
> > None of the drivers are.
>
> What do you mean? It's precisely because the page can be in highmem
> that we are mapping it. If it's not in highmem it'll be a noop.

What I mean is that since you are saying that drivers should do the
kmap themselves, then *all* of the drivers are broken if they are not
using it. And all of them are missing this kmap.

Maxime

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

Attachment: signature.asc
Description: Digital signature