Thread (27 messages) 27 messages, 7 authors, 2014-11-16

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

From: Maxime Ripard <hidden>
Date: 2014-10-31 10:00:06
Also in: linux-crypto, linux-devicetree, lkml

On Fri, Oct 31, 2014 at 04:18:03PM +0800, Herbert Xu wrote:
On Fri, Oct 31, 2014 at 09:13:23AM +0100, Maxime Ripard wrote:
quoted
I don't understand here. Why would other drivers *not* being affected?

If the scatter list passed by AF_ALG can be in highmem, I guess it's
the case for every driver out there. Almost every kernel code I've
seen so far makes the assumption that the memory it has is mapped and
accessible.

Somehow, it's the driver's fault now, and not the part of kernel that
actually does the allocation?
If you are implementing a crypto driver that is meant to handle
requests from the crypto API then yes you need to handle highmem.
Is that documented somewhere?
As I said if enough drivers are unable to address highmem and
require copying/software fallbacks then we could provide this
through the API and the driver would then only need to declare
its lack of highmem support or use a helper.
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.

Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141031/c2ce2dc7/attachment.sig>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help