linux/drivers/staging
Xiyu Yang 332e0e17ad staging: comedi: Fix comedi_device refcnt leak in comedi_open
comedi_open() invokes comedi_dev_get_from_minor(), which returns a
reference of the COMEDI device to "dev" with increased refcount.

When comedi_open() returns, "dev" becomes invalid, so the refcount
should be decreased to keep refcount balanced.

The reference counting issue happens in one exception handling path of
comedi_open(). When "cfp" allocation is failed, the refcnt increased by
comedi_dev_get_from_minor() is not decreased, causing a refcnt leak.

Fix this issue by calling comedi_dev_put() on this error path when "cfp"
allocation is failed.

Fixes: 20f083c075 ("staging: comedi: prepare support for per-file read and write subdevices")
Signed-off-by: Xiyu Yang <xiyuyang19@fudan.edu.cn>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Xin Tan <tanxin.ctf@gmail.com>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Link: https://lore.kernel.org/r/1587361459-83622-1-git-send-email-xiyuyang19@fudan.edu.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-04-23 13:45:24 +02:00
..
android staging: android: Delete the 'vsoc' driver 2020-02-10 08:51:12 -08:00
axis-fifo staging: axis-fifo: replace spinlock with mutex 2020-01-22 09:58:01 +01:00
board
clocking-wizard
comedi staging: comedi: Fix comedi_device refcnt leak in comedi_open 2020-04-23 13:45:24 +02:00
emxx_udc
fbtft staging: fbtft: Avoid potential precedence issues 2020-03-17 12:47:24 +01:00
fieldbus
fsl-dpaa2 staging: fsl-dpaa2: ethsw: ethsw.c: Fix line over 80 characters 2020-02-17 18:14:26 +01:00
fwserial
gasket staging: gasket: Fix incongruency in handling of sysfs entries creation 2020-04-13 16:32:11 +02:00
gdm724x staging: gdm724x: use netdev_err() instead of pr_err() 2020-03-20 15:07:45 +01:00
goldfish
greybus SPDX patches for 5.7-rc1. 2020-04-03 13:12:26 -07:00
gs_fpgaboot
iio staging: iio: adc: ad7280a: Add comments to clarify stringified arguments 2020-03-23 11:45:20 +01:00
kpc2000 Staging: kpc2000: kpc_dma: Use spaces around operators. 2020-03-25 19:38:40 +01:00
ks7010 staging: ks7010: remove line over 80 characters 2020-03-10 10:15:23 +01:00
media Staging/IIO driver patches for 5.7-rc1 2020-03-30 14:20:41 -07:00
most Staging/IIO driver patches for 5.7-rc1 2020-03-30 14:20:41 -07:00
mt7621-dma staging: mt7621-dma: quoted string split across lines 2020-03-21 10:31:54 +01:00
mt7621-dts staging: mt7621-dts: gpio 8 and 9 are vendor specific 2020-03-21 10:31:54 +01:00
mt7621-pci staging: mt7621-pci: avoid to set 'iomem_resource' addresses 2020-03-23 11:41:02 +01:00
mt7621-pci-phy staging: mt7621-pci-phy: re-do 'xtal_mode' detection 2020-03-23 11:32:43 +01:00
mt7621-pinctrl
netlogic staging: netlogic: Use the correct style for SPDX License Identifier 2020-02-09 16:22:58 -08:00
nvec staging: nvec: check return value 2019-12-19 19:23:29 +01:00
octeon staging/octeon: fix up merge error 2020-03-30 17:22:01 -07:00
octeon-usb staging: Replace zero-length array with flexible-array member 2020-02-23 19:18:54 +01:00
olpc_dcon
pi433 staging: pi433: overlay: Convert to sugar syntax 2020-02-23 19:20:49 +01:00
qlge Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2020-03-31 17:29:33 -07:00
ralink-gdma
rtl8188eu staging: rtl8188eu: cleanup long line in odm.c 2020-03-26 15:45:08 +01:00
rtl8192e staging: rtl8192e: Use scnprintf() for avoiding potential buffer overflow 2020-03-12 09:23:59 +01:00
rtl8192u Staging: rtl8192u: ieee80211: Use netdev_alert(). 2020-03-26 16:58:23 +01:00
rtl8712 staging: rtl8712: Remove unnecessary braces 2020-03-20 15:07:44 +01:00
rtl8723bs staging: rtl8723bs: hal: Remove NULL check before kfree 2020-03-26 15:47:26 +01:00
rts5208 staging: rts5208: shorten long line in func call 2020-03-19 15:11:35 +01:00
sm750fb staging: sm750fb: Fix of long line in makefile variable 2020-03-19 15:11:35 +01:00
speakup Char/Misc driver patches for 5.7-rc1 2020-04-03 13:22:40 -07:00
unisys staging: unisys: Documentation: Correct a long line in doc 2020-03-19 15:09:09 +01:00
vc04_services Staging/IIO driver patches for 5.7-rc1 2020-03-30 14:20:41 -07:00
vme
vt6655 staging: vt6655: Break up function call with long line. 2020-03-25 13:40:14 +01:00
vt6656 staging: vt6656: Fix pairwise key entry save. 2020-04-23 13:44:32 +02:00
wfx Merge 5.6-rc7 into staging-next 2020-03-23 08:01:20 +01:00
wilc1000 staging: wilc1000: Use crc7 in lib/ rather than a private copy 2020-03-26 16:58:24 +01:00
wlan-ng staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback 2020-03-26 15:47:26 +01:00
Kconfig staging: remove hp100 driver 2020-03-27 10:01:11 +01:00
Makefile staging: remove hp100 driver 2020-03-27 10:01:11 +01:00