Commit add4c485 authored by jackysliu's avatar jackysliu Committed by Martin K. Petersen
Browse files

scsi: bfa: Double-free fix



When the bfad_im_probe() function fails during initialization, the memory
pointed to by bfad->im is freed without setting bfad->im to NULL.

Subsequently, during driver uninstallation, when the state machine enters
the bfad_sm_stopping state and calls the bfad_im_probe_undo() function,
it attempts to free the memory pointed to by bfad->im again, thereby
triggering a double-free vulnerability.

Set bfad->im to NULL if probing fails.

Signed-off-by: default avatarjackysliu <1972843537@qq.com>
Link: https://lore.kernel.org/r/tencent_3BB950D6D2D470976F55FC879206DE0B9A09@qq.com


Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent b99a5067
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -706,6 +706,7 @@ bfad_im_probe(struct bfad_s *bfad)

	if (bfad_thread_workq(bfad) != BFA_STATUS_OK) {
		kfree(im);
		bfad->im = NULL;
		return BFA_STATUS_FAILED;
	}