Subject: [Bug 206049] alg: skcipher: p8_aes_xts encryption unexpectedly succeeded on test vector "random: len=0 klen=64"; expected_error=-22, cfg="random: inplace may_sleep use_finup src_divs=[<flush>66.99%@+10, 33.1%@alignmask+1155]

From: [email-masked]
Date: Tue, 07 Jan 2020 11:03:28 +0000

https://bugzilla.kernel.org/show_bug.cgi?id=206049

Michael Ellerman ([email-masked]) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            [email-masked]

--- Comment #3 from Michael Ellerman ([email-masked]) ---
Looks like other implementations check the size, can you try this:

diff --git a/drivers/crypto/vmx/aes_xts.c b/drivers/crypto/vmx/aes_xts.c
index d59e736882f6..9fee1b1532a4 100644
--- a/drivers/crypto/vmx/aes_xts.c
+++ b/drivers/crypto/vmx/aes_xts.c
@@ -84,6 +84,9 @@ static int p8_aes_xts_crypt(struct skcipher_request *req, int
enc)
        u8 tweak[AES_BLOCK_SIZE];
        int ret;

+       if (req->cryptlen < AES_BLOCK_SIZE)
+               return -EINVAL;
+
        if (!crypto_simd_usable() || (req->cryptlen % XTS_BLOCK_SIZE) != 0) {
                struct skcipher_request *subreq = skcipher_request_ctx(req);

-- 
You are receiving this mail because:
You are watching the assignee of the bug.