linux-stable-rt/drivers/isdn
Pavel Shved 2f9381e984 gigaset: call module_put before restart of if_open()
if_open() calls try_module_get(), and after an attempt to lock a mutex
the if_open() function may return -ERESTARTSYS without
putting the module.  Then, when if_open() is executed again,
try_module_get() is called making the reference counter of THIS_MODULE
greater than one at successful exit from if_open().  The if_close()
function puts the module only once, and as a result it can't be
unloaded.

This patch adds module_put call before the return from if_open().

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Pavel Shved <shved@ispras.ru>
Signed-off-by: David S. Miller <davem@conan.davemloft.net>
2011-06-17 15:27:32 -04:00
..
act2000
capi isdn: capi: Use pr_debug() instead of ifdefs. 2011-05-19 18:20:29 -04:00
divert
gigaset gigaset: call module_put before restart of if_open() 2011-06-17 15:27:32 -04:00
hardware ISDN, hfcsusb: Don't leak in hfcsusb_ph_info() 2011-06-11 18:59:07 -07:00
hisax Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2011-05-24 13:28:35 -07:00
hysdn
i4l isdn: i4l: isdn_tty: Fix unused-but-set variables. 2011-04-17 17:07:57 -07:00
icn
isdnloop
mISDN isdn: mISDN: socket: Fix set-but-unused variables. 2011-04-17 16:48:53 -07:00
pcbit
sc
Kconfig
Makefile