----- Original Message ----- > From: "Johannes Thumshirn" <jthumsh...@suse.de> > To: "Martin K . Petersen" <martin.peter...@oracle.com>, "James Bottomley" > <j...@linux.vnet.ibm.com> > Cc: "Linux SCSI Mailinglist" <linux-scsi@vger.kernel.org>, "Linux Kernel > Mailinglist" <linux-ker...@vger.kernel.org>, > "Narsimhulu Musini" <nmus...@cisco.com>, "Sesidhar Baddela" > <sebad...@cisco.com>, "Johannes Thumshirn" > <jthumsh...@suse.de> > Sent: Thursday, June 23, 2016 8:37:20 AM > Subject: [PATCH] snic: Fix use-after-free in case of a dma mapping error > > If there is a dma mapping error snic kfree()s buf right before printing it. > Change the order to not accidently trip on memory that's not owned by us > anymore. > > Signed-off-by: Johannes Thumshirn <jthumsh...@suse.de> > --- > drivers/scsi/snic/snic_disc.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/snic/snic_disc.c b/drivers/scsi/snic/snic_disc.c > index b0fefd6..b106596 100644 > --- a/drivers/scsi/snic/snic_disc.c > +++ b/drivers/scsi/snic/snic_disc.c > @@ -113,11 +113,11 @@ snic_queue_report_tgt_req(struct snic *snic) > > pa = pci_map_single(snic->pdev, buf, buf_len, PCI_DMA_FROMDEVICE); > if (pci_dma_mapping_error(snic->pdev, pa)) { > - kfree(buf); > - snic_req_free(snic, rqi); > SNIC_HOST_ERR(snic->shost, > "Rpt-tgt rspbuf %p: PCI DMA Mapping Failed\n", > buf); > + kfree(buf); > + snic_req_free(snic, rqi); > ret = -EINVAL; > > goto error; > -- > 2.8.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-scsi" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
Looks fine to me Reviewed-by Laurence Oberman <lober...@redhat.com> -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html