]> git.droids-corp.org - dpdk.git/commitdiff
crypto/virtio: fix out-of-bounds access
authorBrian Dooley <brian.dooley@intel.com>
Tue, 22 Feb 2022 09:54:51 +0000 (09:54 +0000)
committerAkhil Goyal <gakhil@marvell.com>
Wed, 23 Feb 2022 11:10:59 +0000 (12:10 +0100)
Coverity flags an untrusted loop bound. Check length of session iv.

Coverity issue: 375802
Fixes: b063e843fa03 ("crypto/virtio: fix IV physical address")
Cc: stable@dpdk.org
Signed-off-by: Brian Dooley <brian.dooley@intel.com>
Acked-by: Fan Zhang <roy.fan.zhang@intel.com>
drivers/crypto/virtio/virtio_rxtx.c

index a65524a306ef7845319c9311e8bb7e180f31783f..08359b3a39184beeb59fadba8b367cbac1001d57 100644 (file)
@@ -264,6 +264,9 @@ virtqueue_crypto_sym_enqueue_xmit(
                if (cop->phys_addr)
                        desc[idx].addr = cop->phys_addr + session->iv.offset;
                else {
+                       if (session->iv.length > VIRTIO_CRYPTO_MAX_IV_SIZE)
+                               return -ENOMEM;
+
                        rte_memcpy(crypto_op_cookie->iv,
                                        rte_crypto_op_ctod_offset(cop,
                                        uint8_t *, session->iv.offset),