From 4e02badb1827514af03d7ca781d2c3c2b4e604eb Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Mon, 30 Jan 2017 19:49:08 +0000 Subject: [PATCH] Initialize a stack variable in mprsas_get_sas_address_for_sata_disk Thought it's difficult to reproduce, I think this variable was responsible for a use-after-free panic when a SATA disk timed out responding to a SATA identify command during boot. Submitted by: slm Reviewed by: slm MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D9364 --- sys/dev/mpr/mpr_sas_lsi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/dev/mpr/mpr_sas_lsi.c b/sys/dev/mpr/mpr_sas_lsi.c index 9796074f4b2f..3150dfc6a9ea 100644 --- a/sys/dev/mpr/mpr_sas_lsi.c +++ b/sys/dev/mpr/mpr_sas_lsi.c @@ -911,6 +911,7 @@ mprsas_get_sas_address_for_sata_disk(struct mpr_softc *sc, u8 sas_status; memset(&ata_identify, 0, sizeof(ata_identify)); + memset(&mpi_reply, 0, sizeof(mpi_reply)); try_count = 0; do { rc = mprsas_get_sata_identify(sc, handle, &mpi_reply,