Make vbdev_crypto_destruct() return 1 to signal that program execution should wait for spdk_bdev_destruct_done() function, which is added inside _device_unregister_cb(). This change is related to _vdev_dev_get() not being able to find the devices, when called from _cryptodev_sym_session_free(), as it uses device driver name, which might already be freed. This occurs only during bdev module finish, when crypto bdevs are being unregistered and vbdev_crypto_finish() proceeds to call bdev name deletion without waiting for the unregister callbacks to complete, which ultimately results in reading freed pointers. This only happens when code execution takes path for DPDK 22.11+. Change-Id: Id9a43d07c90aef7a82867383fd77354ac521a3e7 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16290 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> |
||
---|---|---|
.. | ||
crypto_ut.c | ||
Makefile |