]> git.itanic.dy.fi Git - linux-stable/commit
ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe
authorLv Yunlong <lyl2019@mail.ustc.edu.cn>
Mon, 24 May 2021 09:32:05 +0000 (02:32 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 May 2021 12:39:19 +0000 (14:39 +0200)
commit9272e5d0028d45a3b45b58c9255e6e0df53f7ad9
tree42b739d611502de65d460a22704a55a86a61fa2f
parenta53d1202aef122894b6e46116a92174a9123db5d
ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe

In the out_err_bus_register error branch of tpci200_pci_probe,
tpci200->info->cfg_regs is freed by tpci200_uninstall()->
tpci200_unregister()->pci_iounmap(..,tpci200->info->cfg_regs)
in the first time.

But later, iounmap() is called to free tpci200->info->cfg_regs
again.

My patch sets tpci200->info->cfg_regs to NULL after tpci200_uninstall()
to avoid the double free.

Fixes: cea2f7cdff2af ("Staging: ipack/bridges/tpci200: Use the TPCI200 in big endian mode")
Cc: stable <stable@vger.kernel.org>
Acked-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com>
Signed-off-by: Lv Yunlong <lyl2019@mail.ustc.edu.cn>
Link: https://lore.kernel.org/r/20210524093205.8333-1-lyl2019@mail.ustc.edu.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/ipack/carriers/tpci200.c