[PATCH] crypto: add virtio-crypto driver

2016-11-13 Thread Gonglei
This patch introduces virtio-crypto driver for Linux Kernel. The virtio crypto device is a virtual cryptography device as well as a kind of virtual hardware accelerator for virtual machines. The encryption anddecryption requests are placed in the data queue and are ultimately handled by

Re: [v2 PATCH 7/16] crypto: simd - Add simd skcipher helper

2016-11-13 Thread Eric Biggers
On Sun, Nov 13, 2016 at 07:45:38PM +0800, Herbert Xu wrote: > This patch adds the simd skcipher helper which is meant to be > a replacement for ablk helper. It replaces the underlying blkcipher > interface with skcipher, and also presents the top-level algorithm > as an skcipher. I assume this

Re: [v2 PATCH 4/16] crypto: xts - Convert to skcipher

2016-11-13 Thread Eric Biggers
On Sun, Nov 13, 2016 at 07:45:35PM +0800, Herbert Xu wrote: > +static int do_encrypt(struct skcipher_request *req, int err) > +{ > + struct rctx *rctx = skcipher_request_ctx(req); > + struct skcipher_request *subreq; > + > + subreq = >subreq; > + > + while (!err && rctx->left) { >

Re: [v2 PATCH 6/16] crypto: cryptd - Add support for skcipher

2016-11-13 Thread Eric Biggers
On Sun, Nov 13, 2016 at 07:45:37PM +0800, Herbert Xu wrote: > +static void cryptd_skcipher_encrypt(struct crypto_async_request *base, > + int err) > +{ > + struct skcipher_request *req = skcipher_request_cast(base); > + struct cryptd_skcipher_request_ctx

Re: [v2 PATCH 1/16] crypto: skcipher - Add skcipher walk interface

2016-11-13 Thread Eric Biggers
Hi Herbert, On Sun, Nov 13, 2016 at 07:45:32PM +0800, Herbert Xu wrote: > +int skcipher_walk_done(struct skcipher_walk *walk, int err) > +{ > + unsigned int nbytes = 0; > + unsigned int n = 0; > + > + if (likely(err >= 0)) { > + n = walk->nbytes - err; > +

Re: [PATCH v3] crypto: arm64/sha2: integrate OpenSSL implementations of SHA256/SHA512

2016-11-13 Thread Andy Polyakov
> Looking at the generated code, I see references to __ARMEB__ and __ILP32__. > The former is probably a bug, >>> >>> Oh! You mean that it should be __AARCH64EB__/__AARCH64EL__! >> >> Indeed: >> >> $ aarch64-linux-gnu-gcc -dM -E - <<<"" |grep AARCH >> #define

Re: [PATCH v3] crypto: arm64/sha2: integrate OpenSSL implementations of SHA256/SHA512

2016-11-13 Thread Andy Polyakov
>>> (+ Andy) >>> >>> ... Looking at the generated code, I see references to __ARMEB__ and >>> __ILP32__. The former is probably a bug, >> >> Oh! You mean that it should be __AARCH64EB__/__AARCH64EL__! > > Indeed: > > $ aarch64-linux-gnu-gcc -dM -E - <<<"" |grep AARCH > #define

Re: [PATCH v3] crypto: arm64/sha2: integrate OpenSSL implementations of SHA256/SHA512

2016-11-13 Thread Ard Biesheuvel
On 13 November 2016 at 15:12, Andy Polyakov wrote: >> (+ Andy) >> >> ... >>> >>> Looking at the generated code, I see references to __ARMEB__ and >> __ILP32__. >>> The former is probably a bug, > > Oh! You mean that it should be __AARCH64EB__/__AARCH64EL__! Indeed: $

Re: [PATCH v3] crypto: arm64/sha2: integrate OpenSSL implementations of SHA256/SHA512

2016-11-13 Thread Andy Polyakov
> (+ Andy) > > ... >> >> Looking at the generated code, I see references to __ARMEB__ and > __ILP32__. >> The former is probably a bug, Oh! You mean that it should be __AARCH64EB__/__AARCH64EL__! Apparently I simply went on assuming that it would be __ARMEB__/__ARMEL__ even in 64-bit case. As

[v2 PATCH 3/16] crypto: lrw - Convert to skcipher

2016-11-13 Thread Herbert Xu
This patch converts lrw over to the skcipher interface. It also optimises the implementation to be based on ECB instead of the underlying cipher. For compatibility the existing naming scheme of lrw(aes) is maintained as opposed to the more obvious one of lrw(ecb(aes)). Signed-off-by: Herbert Xu

[v2 PATCH 7/16] crypto: simd - Add simd skcipher helper

2016-11-13 Thread Herbert Xu
This patch adds the simd skcipher helper which is meant to be a replacement for ablk helper. It replaces the underlying blkcipher interface with skcipher, and also presents the top-level algorithm as an skcipher. Signed-off-by: Herbert Xu --- crypto/Kconfig

[v2 PATCH 16/16] crypto: aesbs - Convert to skcipher

2016-11-13 Thread Herbert Xu
This patch converts aesbs over to the skcipher interface. Signed-off-by: Herbert Xu --- arch/arm/crypto/aesbs-glue.c | 380 +-- 1 file changed, 152 insertions(+), 228 deletions(-) diff --git a/arch/arm/crypto/aesbs-glue.c

[v2 PATCH 6/16] crypto: cryptd - Add support for skcipher

2016-11-13 Thread Herbert Xu
This patch adds skcipher support to cryptd alongside ablkcipher. Signed-off-by: Herbert Xu --- crypto/cryptd.c | 284 +++- include/crypto/cryptd.h | 13 ++ 2 files changed, 294 insertions(+), 3 deletions(-)

[v2 PATCH 14/16] crypto: cbc - Convert to skcipher

2016-11-13 Thread Herbert Xu
This patch converts cbc over to the skcipher interface. It also rearranges the code to allow it to be reused by drivers. Signed-off-by: Herbert Xu --- crypto/cbc.c | 242 +-- 1 file changed, 138

[v2 PATCH 1/16] crypto: skcipher - Add skcipher walk interface

2016-11-13 Thread Herbert Xu
This patch adds the skcipher walk interface which replaces both blkcipher walk and ablkcipher walk. Just like blkcipher walk it can also be used for AEAD algorithms. Signed-off-by: Herbert Xu --- crypto/skcipher.c | 515

[v2 PATCH 8/16] crypto: pcbc - Convert to skcipher

2016-11-13 Thread Herbert Xu
This patch converts lrw over to the skcipher interface. Signed-off-by: Herbert Xu --- crypto/pcbc.c | 201 +++--- 1 file changed, 109 insertions(+), 92 deletions(-) diff --git a/crypto/pcbc.c b/crypto/pcbc.c

[v2 PATCH 11/16] crypto: aesni - Convert to skcipher

2016-11-13 Thread Herbert Xu
This patch converts aesni (including fpu) over to the skcipher interface. The LRW implementation has been removed as the generic LRW code can now be used directly on top of the accelerated ECB implementation. Signed-off-by: Herbert Xu ---

[v2 PATCH 4/16] crypto: xts - Convert to skcipher

2016-11-13 Thread Herbert Xu
This patch converts xts over to the skcipher interface. It also optimises the implementation to be based on ECB instead of the underlying cipher. For compatibility the existing naming scheme of xts(aes) is maintained as opposed to the more obvious one of xts(ecb(aes)). Signed-off-by: Herbert Xu

[v2 PATCH 9/16] crypto: glue_helper - Add skcipher xts helpers

2016-11-13 Thread Herbert Xu
This patch adds xts helpers that use the skcipher interface rather than blkcipher. This will be used by aesni_intel. Signed-off-by: Herbert Xu --- arch/x86/crypto/glue_helper.c | 74 +-

[v2 PATCH 15/16] crypto: cbc - Export CBC implementation

2016-11-13 Thread Herbert Xu
This patch moves the core CBC implementation into a header file so that it can be reused by drivers implementing CBC. Signed-off-by: Herbert Xu --- crypto/cbc.c | 129 - include/crypto/cbc.h | 146

[v2 PATCH 10/16] crypto: testmgr - Do not test internal algorithms

2016-11-13 Thread Herbert Xu
Currently we manually filter out internal algorithms using a list in testmgr. This is dangerous as internal algorithms cannot be safely used even by testmgr. This patch ensures that they're never processed by testmgr at all. This patch also removes an obsolete bypass for nivciphers which no

[v2 PATCH 12/16] crypto: arm64/aes - Convert to skcipher

2016-11-13 Thread Herbert Xu
This patch converts arm64/aes over to the skcipher interface. Signed-off-by: Herbert Xu --- arch/arm64/crypto/aes-glue.c | 382 +-- 1 file changed, 158 insertions(+), 224 deletions(-) diff --git

[v2 PATCH 5/16] crypto: api - Do not clear type bits in crypto_larval_lookup

2016-11-13 Thread Herbert Xu
Currently all bits not set in mask are cleared in crypto_larval_lookup. This is unnecessary as wherever the type bits are used it is always masked anyway. This patch removes the clearing so that we may use bits set in the type but not in the mask for special purposes, e.g., picking up internal

[v2 PATCH 2/16] crypto: aes-ce-ccm - Use skcipher walk interface

2016-11-13 Thread Herbert Xu
This patch makes use of the new skcipher walk interface instead of the obsolete blkcipher walk interface. Signed-off-by: Herbert Xu --- arch/arm64/crypto/aes-ce-ccm-glue.c | 50 +--- 1 file changed, 13 insertions(+), 37

[v2 PATCH 0/16] crypto: skcipher - skcipher algorithm conversion part 3

2016-11-13 Thread Herbert Xu
Hi: v2 fixes a number of bugs in the skcipher walk code. This patch series is the third instalment of the skcipher conversion. It introduces the skcipher walk interface, and converts a number of core algorithms such as CBC and LRW/XTS, as well as the aesni on x86 and various ARM aes

Re: [PATCH 00/14] crypto: caam - fixes, clean-up

2016-11-13 Thread Herbert Xu
On Wed, Nov 09, 2016 at 10:46:10AM +0200, Horia Geantă wrote: > This is a batch of fixes and clean-up for caam driver. > > Only the fix for the givencrypt shared descriptors is high-impact > and thus sent to -stable. All applied. Thanks. I decided to keep the first patch in cryptodev as it's

Re: [PATCH v4] poly1305: generic C can be faster on chips with slow unaligned access

2016-11-13 Thread Herbert Xu
On Mon, Nov 07, 2016 at 08:47:09PM +0100, Jason A. Donenfeld wrote: > By using the unaligned access helpers, we drastically improve > performance on small MIPS routers that have to go through the exception > fix-up handler for these unaligned accesses. > > Signed-off-by: Jason A. Donenfeld

Re: [PATCH RESEND] crypto: gf128mul - remove dead gf128mul_64k_lle code

2016-11-13 Thread Herbert Xu
Alex Cope wrote: > This code is unlikely to be useful in the future because transforms > don't know how often keys will be changed, new algorithms are unlikely > to use lle representation, and tables should be replaced with > carryless multiplication instructions when

Re: [PATCH] crypto: dh - Consistenly return negative error codes

2016-11-13 Thread Herbert Xu
On Tue, Nov 08, 2016 at 03:48:22PM -0800, Mat Martineau wrote: > Fix the single instance where a positive EINVAL was returned. > > Signed-off-by: Mat Martineau Patch applied. Thanks. -- Email: Herbert Xu Home Page:

Re: [PATCH] Crypto: mv_cesa: Switch to using managed resources

2016-11-13 Thread Herbert Xu
Nadim Almas wrote: > Switch to resource-managed function devm_kzalloc instead > of kzalloc and remove unneeded kfree > > Also, remove kfree in probe function and remove > function, mv_remove as it is now has nothing to do. > The Coccinelle semantic patch used to make this

Re: [PATCH v2 00/11] getting back -Wmaybe-uninitialized

2016-11-13 Thread Greg KH
On Sun, Nov 13, 2016 at 09:47:41AM +0100, Greg KH wrote: > On Sat, Nov 12, 2016 at 01:27:12PM +, Jonathan Cameron wrote: > > On 11/11/16 19:49, Arnd Bergmann wrote: > > > On Friday, November 11, 2016 9:13:00 AM CET Linus Torvalds wrote: > > >> On Thu, Nov 10, 2016 at 8:44 AM, Arnd Bergmann

Re: [PATCH] crypto: ccp - Fix handling of RSA exponent on a v5 device

2016-11-13 Thread Herbert Xu
On Tue, Nov 01, 2016 at 02:05:05PM -0500, Gary R Hook wrote: > The exponent size in the ccp_op structure is in bits. A v5 > CCP requires the exponent size to be in bytes, so convert > the size from bits to bytes when populating the descriptor. > > The current code references the exponent in

Re: [PATCH] crypto: talitos: fix spelling mistake

2016-11-13 Thread Herbert Xu
On Tue, Nov 01, 2016 at 08:14:04PM -0600, Colin King wrote: > From: Colin Ian King > > Trivial fix to spelling mistake "pointeur" to "pointer" > in dev_err message > > Signed-off-by: Colin Ian King Patch applied. Thanks. -- Email: Herbert

Re: [PATCH v2] crypto: caam: do not register AES-XTS mode on LP units

2016-11-13 Thread Herbert Xu
On Mon, Nov 07, 2016 at 06:51:34PM +0100, Sven Ebenfeld wrote: > When using AES-XTS on a Wandboard, we receive a Mode error: > caam_jr 2102000.jr1: 20001311: CCB: desc idx 19: AES: Mode error. > > According to the Security Reference Manual, the Low Power AES units > of the i.MX6 do not support

Re: [PATCH v2 00/11] getting back -Wmaybe-uninitialized

2016-11-13 Thread Greg KH
On Sat, Nov 12, 2016 at 01:27:12PM +, Jonathan Cameron wrote: > On 11/11/16 19:49, Arnd Bergmann wrote: > > On Friday, November 11, 2016 9:13:00 AM CET Linus Torvalds wrote: > >> On Thu, Nov 10, 2016 at 8:44 AM, Arnd Bergmann wrote: > >>> > >>> Please merge these directly if