1
0
Fork 0
alistair23-linux/drivers/net/wimax/i2400m
Xiyu Yang d3539ea43a wimax/i2400m: Fix potential urb refcnt leak
[ Upstream commit 7717cbec17 ]

i2400mu_bus_bm_wait_for_ack() invokes usb_get_urb(), which increases the
refcount of the "notif_urb".

When i2400mu_bus_bm_wait_for_ack() returns, local variable "notif_urb"
becomes invalid, so the refcount should be decreased to keep refcount
balanced.

The issue happens in all paths of i2400mu_bus_bm_wait_for_ack(), which
forget to decrease the refcnt increased by usb_get_urb(), causing a
refcnt leak.

Fix this issue by calling usb_put_urb() before the
i2400mu_bus_bm_wait_for_ack() returns.

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>
2020-05-10 10:31:26 +02:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
control.c wimax/i2400m/control: Mark expected switch fall-through 2019-04-26 11:28:47 -04:00
debug-levels.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 268 2019-06-05 17:30:29 +02:00
debugfs.c wimax: no need to check return value of debugfs_create functions 2019-08-10 15:25:47 -07:00
driver.c wimax: no need to check return value of debugfs_create functions 2019-08-10 15:25:47 -07:00
fw.c wimax/i2400m: remove debug containing bogus calculation of index 2019-08-30 12:31:52 -07:00
i2400m-usb.h drivers: net: wimax: i2400m: i2400m-usb: Use time_after for time comparison 2017-05-09 09:40:33 -04:00
i2400m.h wimax: no need to check return value of debugfs_create functions 2019-08-10 15:25:47 -07:00
netdev.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 268 2019-06-05 17:30:29 +02:00
op-rfkill.c wimax: i2400: Fix memory leak in i2400m_op_rfkill_sw_toggle 2019-10-29 16:20:25 -07:00
rx.c wimax/i2400m: remove redundant assignment to variable result 2019-08-28 14:49:37 -07:00
sysfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 268 2019-06-05 17:30:29 +02:00
tx.c wimax/i2400m: remove unlikely() from WARN*() condition 2019-09-26 10:10:30 -07:00
usb-debug-levels.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 268 2019-06-05 17:30:29 +02:00
usb-fw.c wimax/i2400m: Fix potential urb refcnt leak 2020-05-10 10:31:26 +02:00
usb-notif.c net: wimax: i2400m: usb-notif: don't print error when allocating urb fails 2016-08-13 14:53:40 -07:00
usb-rx.c net: drivers/net: Remove unnecessary skb_copy_expand OOM messages 2018-03-15 14:28:03 -04:00
usb-tx.c wimax: usb-tx: mark expected switch fall-through 2018-08-11 11:29:36 -07:00
usb.c wimax: no need to check return value of debugfs_create functions 2019-08-10 15:25:47 -07:00