ipack: tpci200: fix many double free issues in tpci200_pci_probe
authorDongliang Mu <mudongliangabcd@gmail.com>
Tue, 10 Aug 2021 10:03:18 +0000 (18:03 +0800)
committerSasha Levin <sashal@kernel.org>
Thu, 26 Aug 2021 12:37:54 +0000 (08:37 -0400)
commitd2b2159b5a9f344e2ad98d23d3cf3f68e63f013c
tree768057f532c3dd2202d7288ebc8c7317cf2c789f
parent591bf123ce10cd9c5b9b3f273c44fdc654966796
ipack: tpci200: fix many double free issues in tpci200_pci_probe

[ Upstream commit 57a1681095f912239c7fb4d66683ab0425973838 ]

The function tpci200_register called by tpci200_install and
tpci200_unregister called by tpci200_uninstall are in pair. However,
tpci200_unregister has some cleanup operations not in the
tpci200_register. So the error handling code of tpci200_pci_probe has
many different double free issues.

Fix this problem by moving those cleanup operations out of
tpci200_unregister, into tpci200_pci_remove and reverting
the previous commit 9272e5d0028d ("ipack/carriers/tpci200:
Fix a double free in tpci200_pci_probe").

Fixes: 9272e5d0028d ("ipack/carriers/tpci200: Fix a double free in tpci200_pci_probe")
Cc: stable@vger.kernel.org
Reported-by: Dongliang Mu <mudongliangabcd@gmail.com>
Signed-off-by: Dongliang Mu <mudongliangabcd@gmail.com>
Link: https://lore.kernel.org/r/20210810100323.3938492-1-mudongliangabcd@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/ipack/carriers/tpci200.c