]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
lpfc: Fix possible use-after-free and double free in lpfc_mbx_cmpl_rdp_page_a2()
authorJohannes Thumshirn <jthumshirn@suse.de>
Mon, 17 Aug 2015 11:03:02 +0000 (13:03 +0200)
committerJames Bottomley <JBottomley@Odin.com>
Sun, 6 Sep 2015 18:51:39 +0000 (11:51 -0700)
commit612872cabf5be6f95d43d9a88eef38201ae8005d
treef6464c146b2c2c9b2b5f95832bbdf626b82ecd4d
parent6f3d828f5bd72174c24789aba5d4ed036b60f44b
lpfc: Fix possible use-after-free and double free in lpfc_mbx_cmpl_rdp_page_a2()

If the bf_get() call in lpfc_mbx_cmpl_rdp_page_a2() does succeeds, execution
continues normally and mp gets kfree()d.

If the subsequent call to lpfc_sli_issue_mbox() fails execution jumps to the
error label where lpfc_mbuf_free() is called with mp->virt and mp->phys as
function arguments. This is the use after free. Following the use after free mp
gets kfree()d again which is a double free.

Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Acked-by: James Smart <james.smart@avagotech.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
drivers/scsi/lpfc/lpfc_mbox.c