2019-07-02 16:06:36

by Eric Biggers

[permalink] [raw]
Subject: gcm-aes-ccp self-tests failure

Hi Tom and Gary,

On latest cryptodev tree, I'm seeing the following self-test failure after I
built a kernel with the AMD CCP driver and crypto self-tests enabled, and booted
it on system with a Ryzen processor ("Threadripper 1950X"):

[ 4.378985] alg: aead: gcm-aes-ccp encryption test failed (wrong result) on test vector 2, cfg="two even aligned splits"

i.e., in some cases the AES-GCM implementation produces the wrong ciphertext
and/or authentication tag.

Is this is a known issue? When will it be fixed?

The potentially relevant bits of my Kconfig are:

CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=y
CONFIG_CRYPTO_DEV_SP_CCP=y
CONFIG_CRYPTO_DEV_CCP_CRYPTO=y
CONFIG_CRYPTO_DEV_SP_PSP=y
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y

- Eric


2019-07-02 17:45:17

by Gary R Hook

[permalink] [raw]
Subject: Re: gcm-aes-ccp self-tests failure

On 7/2/19 11:06 AM, Eric Biggers wrote:
> Hi Tom and Gary,
>
> On latest cryptodev tree, I'm seeing the following self-test failure after I
> built a kernel with the AMD CCP driver and crypto self-tests enabled, and booted
> it on system with a Ryzen processor ("Threadripper 1950X"):
>
> [ 4.378985] alg: aead: gcm-aes-ccp encryption test failed (wrong result) on test vector 2, cfg="two even aligned splits"
>
> i.e., in some cases the AES-GCM implementation produces the wrong ciphertext
> and/or authentication tag.
>
> Is this is a known issue? When will it be fixed?
>
> The potentially relevant bits of my Kconfig are:
>
> CONFIG_CRYPTO_AES=y
> CONFIG_CRYPTO_GCM=y
> CONFIG_CRYPTO_DEV_CCP=y
> CONFIG_CRYPTO_DEV_CCP_DD=y
> CONFIG_CRYPTO_DEV_SP_CCP=y
> CONFIG_CRYPTO_DEV_CCP_CRYPTO=y
> CONFIG_CRYPTO_DEV_SP_PSP=y
> # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
> CONFIG_DEBUG_KERNEL=y
> CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y
>
> - Eric
>

Yes, this is a known problem. We have no estimate on a fix at this time.
I need to light a fire under someone now.

grh