dpdk: fix cryptodev session handler 51/32251/2
authorFan Zhang <roy.fan.zhang@intel.com>
Fri, 7 May 2021 11:50:18 +0000 (12:50 +0100)
committerDamjan Marion <dmarion@me.com>
Fri, 7 May 2021 16:31:42 +0000 (16:31 +0000)
Type: fix

This patch fixes the possible segmentation fault in DPDK
cryptodev when deleting session.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: Ie81de09f7250eb5c1ed6ee471363137d8372fe27

src/plugins/dpdk/cryptodev/cryptodev.c

index a310538..246951d 100644 (file)
@@ -287,6 +287,10 @@ cryptodev_sess_handler (vlib_main_t *vm, vnet_crypto_key_op_t kop,
 
       vec_foreach_index (i, cmt->per_numa_data)
        {
+         if (!ckey->keys)
+           continue;
+         if (!ckey->keys[i])
+           continue;
          if (ckey->keys[i][CRYPTODEV_OP_TYPE_ENCRYPT])
            {
              cryptodev_session_del (ckey->keys[i][CRYPTODEV_OP_TYPE_ENCRYPT]);