Commit 0eab4c6f authored by Kalyan Kadiyala's avatar Kalyan Kadiyala Committed by Konrad Sztyber
Browse files

nvmf/fc: Validate the ctrlr pointer inside nvmf_fc_req_bdev_abort()



    An abort request can come in for a fabric connect command before
    the ctrlr is initialized. In such a case, accessing the ctrlr
    pointer without validating it can lead to app crash.

Change-Id: I61b79147330e566d4393a72c6a07d0dd6e032e80
Signed-off-by: default avatarKalyan Kadiyala <kalyan.kadiyala@broadcom.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25420


Reviewed-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 4bcab9fb
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -1217,6 +1217,7 @@ nvmf_fc_req_bdev_abort(void *arg1)
	 * Connect -> Special case (async. handling). Not sure how to
	 * handle at this point. Let it run to completion.
	 */
	if (ctrlr) {
		for (i = 0; i < SPDK_NVMF_MAX_ASYNC_EVENTS; i++) {
			if (ctrlr->aer_req[i] == &fc_req->req) {
				SPDK_NOTICELOG("Abort AER request\n");
@@ -1224,6 +1225,7 @@ nvmf_fc_req_bdev_abort(void *arg1)
			}
		}
	}
}

void
nvmf_fc_request_abort_complete(void *arg1)