fea1298d57
[ Upstream commit 51875dad43b44241b46a569493f1e4bfa0386d86 ] atmtcp_remove_persistent() invokes atm_dev_lookup(), which returns a reference of atm_dev with increased refcount or NULL if fails. The refcount leaks issues occur in two error handling paths. If dev_data->persist is zero or PRIV(dev)->vcc isn't NULL, the function returns 0 without decreasing the refcount kept by a local variable, resulting in refcount leaks. Fix the issue by adding atm_dev_put() before returning 0 both when dev_data->persist is zero or PRIV(dev)->vcc isn't NULL. Signed-off-by: Xin Xiong <xiongx18@fudan.edu.cn> Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn> Signed-off-by: Xin Tan <tanxin.ctf@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
.gitignore | ||
adummy.c | ||
ambassador.c | ||
ambassador.h | ||
atmtcp.c | ||
eni.c | ||
eni.h | ||
firestream.c | ||
firestream.h | ||
fore200e.c | ||
fore200e.h | ||
he.c | ||
he.h | ||
horizon.c | ||
horizon.h | ||
idt77105.c | ||
idt77105.h | ||
idt77252.c | ||
idt77252.h | ||
idt77252_tables.h | ||
iphase.c | ||
iphase.h | ||
Kconfig | ||
lanai.c | ||
Makefile | ||
midway.h | ||
nicstar.c | ||
nicstar.h | ||
nicstarmac.c | ||
nicstarmac.copyright | ||
solos-attrlist.c | ||
solos-pci.c | ||
suni.c | ||
suni.h | ||
tonga.h | ||
uPD98401.h | ||
uPD98402.c | ||
uPD98402.h | ||
zatm.c | ||
zatm.h | ||
zeprom.h |