]> git.baikalelectronics.ru Git - kernel.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)
commit87044f2ba72c96e97d726dca74e1eb488ad45fc2
treef6464c146b2c2c9b2b5f95832bbdf626b82ecd4d
parent78bd6a9c74cd71ecb251bdf3c184608ad006abb4
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