Commit bc6764aa authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

bdev/crypto: check get_io_channel() result



Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I3436b17721aebac9bedb9e980971db32dddf31b6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18434


Reviewed-by: default avatarJacek Kalwas <jacek.kalwas@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent b6acb821
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -517,7 +517,20 @@ crypto_bdev_ch_create_cb(void *io_device, void *ctx_buf)
	struct vbdev_crypto *crypto_bdev = io_device;

	crypto_ch->base_ch = spdk_bdev_get_io_channel(crypto_bdev->base_desc);
	if (crypto_ch->base_ch == NULL) {
		SPDK_ERRLOG("Failed to get base bdev IO channel (bdev: %s)\n",
			    crypto_bdev->crypto_bdev.name);
		return -ENOMEM;
	}

	crypto_ch->accel_channel = spdk_accel_get_io_channel();
	if (crypto_ch->accel_channel == NULL) {
		SPDK_ERRLOG("Failed to get accel IO channel (bdev: %s)\n",
			    crypto_bdev->crypto_bdev.name);
		spdk_put_io_channel(crypto_ch->base_ch);
		return -ENOMEM;
	}

	crypto_ch->crypto_key = crypto_bdev->opts->key;

	return 0;