Re: [PATCH 0/3] crypto: arm64/aes-ccm - various bug fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jan 24, 2019 at 05:33:44PM +0100, Ard Biesheuvel wrote:
> Fix a couple of bugs found by Eric's new testing code, and another
> issue found by inspection.
> 
> Ard Biesheuvel (3):
>   crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling
>   crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine
>   crypto: arm64/aes-ccm - don't use an atomic walk needlessly
> 
>  arch/arm64/crypto/aes-ce-ccm-core.S | 5 +++--
>  arch/arm64/crypto/aes-ce-ccm-glue.c | 8 +++-----
>  2 files changed, 6 insertions(+), 7 deletions(-)
> 

Thanks Ard.  For all three patches:

Reviewed-by: Eric Biggers <ebiggers@xxxxxxxxxx>

However, can you add Cc stable to the first two?

BTW: I notice the !may_use_simd() case is still not covered by the self-tests.
Do you happen to have any suggestion for how to do it?  If there is a way to
make may_use_simd() temporarily return false, I can easily put a flag in 'struct
testvec_config' that makes the self-tests sometimes use that context to execute
the actual encryption/decryption/hashing.

It looks like on arm64, wrapping the operation in local_irq_{disable,enable}()
or kernel_fpu_{begin,end}() would be sufficient?  But x86 it doesn't look as
easy as x86 needs a context where 'in_interrupt() && !interrupted_user_mode() &&
!interrupted_kernel_fpu_idle()'.  Likewise arm32 requires 'in_interrupt()'.

It would be worth doing just for arm64, but ideally it would work on most/all
architectures.

- Eric



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux