This patch adds support for the AES symmetric encryption algorithm for CPUs
that have support for the AES part of the ARM v8 Crypto Extensions.
Signed-off-by: Ard Biesheuvel
Acked-by: Herbert Xu
---
arch/arm64/crypto/Kconfig | 7 +-
arch/arm64/crypto/Makefile| 3 +
arch/arm6
The Crypto Extensions based GHASH implementation uses the NEON register file,
and hence runs with preemption disabled. This patch adds a TIF_NEED_RESCHED
check to its inner loop so we at least give up the CPU voluntarily when we
are running in process context and have been tagged for preemption by
The Crypto Extensions based SHA2 implementation uses the NEON register file,
and hence runs with preemption disabled. This patch adds a TIF_NEED_RESCHED
check to its inner loop so we at least give up the CPU voluntarily when we
are running in process context and have been tagged for preemption by t
This patch adds support for the SHA-1 Secure Hash Algorithm for CPUs that
have support for the SHA-1 part of the ARM v8 Crypto Extensions.
Signed-off-by: Ard Biesheuvel
Acked-by: Herbert Xu
---
arch/arm64/Kconfig | 3 +
arch/arm64/Makefile | 1 +
arch/arm64/crypto
This patch adds support for the SHA-224 and SHA-256 Secure Hash Algorithms
for CPUs that have support for the SHA-2 part of the ARM v8 Crypto Extensions.
Signed-off-by: Ard Biesheuvel
Acked-by: Herbert Xu
---
arch/arm64/crypto/Kconfig| 5 +
arch/arm64/crypto/Makefile | 3 +
ar
This is another repost of the arm64 crypto patches, this time I have only
included the ones that go under arch/arm64/crypto.
Changes wrt previous version:
- updated the voluntary preemption patches to test for CRYPTO_TFM_REQ_MAY_SLEEP
instead of !in_interrupt()
- added Herbert's ack
All patches
The Crypto Extensions based SHA1 implementation uses the NEON register file,
and hence runs with preemption disabled. This patch adds a TIF_NEED_RESCHED
check to its inner loop so we at least give up the CPU voluntarily when we
are running in process context and have been tagged for preemption by t
This patch adds support for the AES-CCM encryption algorithm for CPUs that
have support for the AES part of the ARM v8 Crypto Extensions.
Signed-off-by: Ard Biesheuvel
Acked-by: Herbert Xu
---
arch/arm64/crypto/Kconfig | 7 +
arch/arm64/crypto/Makefile | 3 +
arch/arm64/c
This adds the asm macro definition 'b_if_no_resched' that performs a conditional
branch depending on the preempt need_resched state.
Signed-off-by: Ard Biesheuvel
---
arch/arm64/include/asm/assembler.h | 21 +
1 file changed, 21 insertions(+)
diff --git a/arch/arm64/include/
This adds ARMv8 implementations of AES in ECB, CBC, CTR and XTS modes,
both for ARMv8 with Crypto Extensions and for plain ARMv8 NEON.
The Crypto Extensions version can only run on ARMv8 implementations that
have support for these optional extensions.
The plain NEON version is a table based yet t
Signed-off-by: Ard Biesheuvel
---
arch/arm64/include/asm/Kbuild | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm64/include/asm/Kbuild b/arch/arm64/include/asm/Kbuild
index 83f71b3004a8..42c7eecd2bb6 100644
--- a/arch/arm64/include/asm/Kbuild
+++ b/arch/arm64/include/asm/Kbuild
@@ -40,
This is a port to ARMv8 (Crypto Extensions) of the Intel implementation of the
GHASH Secure Hash (used in the Galois/Counter chaining mode). It relies on the
optional PMULL/PMULL2 instruction (polynomial multiply long, what Intel call
carry-less multiply).
Signed-off-by: Ard Biesheuvel
Acked-by:
On Wed, 2014-05-14 at 08:10 +0800, Herbert Xu wrote:
> On Tue, May 13, 2014 at 04:19:45PM -0700, Tim Chen wrote:
> >
> > diff --git a/crypto/shash.c b/crypto/shash.c
> > index 929058a..6f40424 100644
> > --- a/crypto/shash.c
> > +++ b/crypto/shash.c
> > @@ -229,6 +229,42 @@ int shash_ahash_update(s
The checking for the type of algorithm implementation is pretty
strange here. Use regular flags to check for the type instead.
Signed-off-by: Marek Vasut
Cc: Bill Pemberton
Cc: Herbert Xu
Cc: Kent Yoder
Cc: Jamie Iles
Cc: Phil Sutter
---
drivers/crypto/mv_cesa.c | 4 ++--
1 file changed, 2
Signed-off-by: Marek Vasut
---
drivers/crypto/padlock-sha.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
NOTE: I didn't compile-test those, but the change should not break anything.
If possible, please test on relevant hardware.
diff --git a/drivers/crypto/padlock-sha.c b/drivers
Signed-off-by: Marek Vasut
---
drivers/crypto/ccp/ccp-crypto-aes-xts.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
NOTE: I didn't compile-test those, but the change should not break anything.
If possible, please test on relevant hardware.
diff --git a/drivers/crypto/ccp/ccp-
Signed-off-by: Marek Vasut
---
drivers/crypto/mxs-dcp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
NOTE: I didn't compile-test those, but the change should not break anything.
If possible, please test on relevant hardware.
diff --git a/drivers/crypto/mxs-dcp.c b/drivers/crypto/
Signed-off-by: Marek Vasut
---
drivers/crypto/n2_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
NOTE: I didn't compile-test those, but the change should not break anything.
If possible, please test on relevant hardware.
diff --git a/drivers/crypto/n2_core.c b/drivers/cry
Signed-off-by: Marek Vasut
---
drivers/crypto/sahara.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
NOTE: I didn't compile-test those, but the change should not break anything.
If possible, please test on relevant hardware.
diff --git a/drivers/crypto/sahara.c b/drivers/crypto/sa
Use a standard accessor instead of directly digging into a structure.
Signed-off-by: Marek Vasut
---
drivers/crypto/geode-aes.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
NOTE: I didn't compile-test those, but the change should not break anything.
If possible, please test o
Signed-off-by: Marek Vasut
---
drivers/crypto/mv_cesa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
NOTE: I didn't compile-test those, but the change should not break anything.
If possible, please test on relevant hardware.
diff --git a/drivers/crypto/mv_cesa.c b/drivers/crypto/
Signed-off-by: Marek Vasut
Cc: Benjamin Herrenschmidt
Cc: Dmitry Kasatkin
Cc: Eric Bénard
Cc: Jussi Kivilinna
Cc: Kent Yoder
Cc: Michal Ludvig
Cc: Varun Wadekar
Cc: Vladimir Zapolskiy
Cc: linux-ge...@lists.infradead.org
---
drivers/crypto/geode-aes.c | 4 ++--
1 file changed, 2 insertions
Consistently use AES_KEYSIZE_128 instead of arbitrary defined value.
Signed-off-by: Marek Vasut
Cc: Benjamin Herrenschmidt
Cc: Dmitry Kasatkin
Cc: Eric Bénard
Cc: Jussi Kivilinna
Cc: Kent Yoder
Cc: Michal Ludvig
Cc: Varun Wadekar
Cc: Vladimir Zapolskiy
Cc: linux-ge...@lists.infradead.org
This is actually defined in include/crypto/aes.h , no need to have
a a different symbol for the same thing twice.
Signed-off-by: Marek Vasut
Cc: Benjamin Herrenschmidt
Cc: Dmitry Kasatkin
Cc: Eric Bénard
Cc: Jussi Kivilinna
Cc: Kent Yoder
Cc: Michal Ludvig
Cc: Varun Wadekar
Cc: Vladimir Za
The AES IV length is always 128bits, just use the define from aes.h
Signed-off-by: Marek Vasut
Cc: Benjamin Herrenschmidt
Cc: Dmitry Kasatkin
Cc: Eric Bénard
Cc: Jussi Kivilinna
Cc: Kent Yoder
Cc: Michal Ludvig
Cc: Varun Wadekar
Cc: Vladimir Zapolskiy
Cc: linux-ge...@lists.infradead.org
-
On Wed, May 14, 2014 at 02:29:05AM +0100, Herbert Xu wrote:
> On Fri, May 09, 2014 at 08:37:58AM +0200, Ard Biesheuvel wrote:
> >
> > @Herbert, Jussi: care to share your opinion on the SHAx, GHASH and AES
> > patches above? Herbert has already acked the ccm patch, but Catalin is
> > requesting for
On 14 May 2014 04:39, Herbert Xu wrote:
> Dmitry Kasatkin wrote:
>> Hi,
>>
>> ahash allows to use HW acceleration, but usually it comes at a cost of
>> additional HW related configuration overhead, such as configuring hash
>> module, DMA, etc. For that reason hashing small chucks of data is
>> fa
27 matches
Mail list logo