By observing that the value of ulp_num may be 'BEISCSI_ULP_COUNT',this will cause the problem of data out of bounds.Increase judgments to eliminate risks. Signed-off-by: Wen Zhiwei <wenzhiwei@xxxxxxxxxx> --- drivers/scsi/be2iscsi/be_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/be2iscsi/be_main.c b/drivers/scsi/be2iscsi/be_main.c index ab55681145f8..392a53184a00 100644 --- a/drivers/scsi/be2iscsi/be_main.c +++ b/drivers/scsi/be2iscsi/be_main.c @@ -3947,7 +3947,8 @@ static int beiscsi_init_sgl_handle(struct beiscsi_hba *phba) for (ulp_num = 0; ulp_num < BEISCSI_ULP_COUNT; ulp_num++) if (test_bit(ulp_num, &phba->fw_config.ulp_supported)) break; - + if (ulp_num >= BEISCSI_ULP_COUNT) + return -ENOMEM; ulp_icd_start = phba->fw_config.iscsi_icd_start[ulp_num]; arr_index = 0; -- 2.30.0