linux-stable/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 isdn: Free irq_data namespace 2010-10-04 11:00:55 +02:00
capi isdn: capi: Use pr_debug() instead of ifdefs. 2011-05-19 18:20:29 -04:00
divert isdn: potential buffer overflows 2010-09-06 18:29:18 -07:00
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 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-04-11 13:44:25 -07:00
i4l isdn: i4l: isdn_tty: Fix unused-but-set variables. 2011-04-17 17:07:57 -07:00
icn isdn: icn: Fix potentially wrong string handling 2011-02-01 14:17:51 -08:00
isdnloop Fix common misspellings 2011-03-31 11:26:23 -03:00
mISDN isdn: mISDN: socket: Fix set-but-unused variables. 2011-04-17 16:48:53 -07:00
pcbit drivers/isdn: Use static const char * const where possible 2010-09-14 20:22:02 -07:00
sc isdn: strcpy() => strlcpy() 2010-10-08 10:21:22 -07:00
Kconfig isdn: fix a few Kconfig imperfections 2010-02-22 15:45:53 -08:00
Makefile