WSL2-Linux-Kernel/drivers
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
..
accessibility
acpi Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2011-05-29 11:19:16 -07:00
amba ARM: 6829/1: amba: make hardcoded periphid override hardware 2011-05-26 10:33:34 +01:00
ata Merge branch 'for-2.6.40/core' of git://git.kernel.dk/linux-2.6-block 2011-05-25 09:14:07 -07:00
atm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2011-05-20 13:43:21 -07:00
auxdisplay
base mm: per-node vmstat: show proper vmstats 2011-05-25 08:39:07 -07:00
bcma drivers/bcma/host_pci.c needs slab.h 2011-05-26 17:12:32 -07:00
block Merge branch 'for-linus' of git://git.kernel.dk/linux-block 2011-06-04 08:11:26 +09:00
bluetooth Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem 2011-06-17 12:40:36 -04:00
cdrom block: fix mismerge of the DISK_EVENT_MEDIA_CHANGE removal 2011-06-02 05:29:19 +09:00
char virtio console: don't manually set or finalize VIRTIO_CONSOLE_F_MULTIPORT. 2011-05-30 11:14:13 +09:30
clk
clocksource Revert "clocksource: sh_cmt: Runtime PM support" 2011-05-31 15:26:42 +09:00
connector
cpufreq cpufreq: make DB8500 cpufreq driver compile 2011-05-24 22:20:14 +02:00
cpuidle Merge branch 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6 2011-05-29 11:18:09 -07:00
crypto [S390] ap: skip device registration on type probe failure 2011-05-23 10:24:29 +02:00
dca
dio
dma dmaengine: shdma: fix a regression: initialise DMA channels for memcpy 2011-06-02 14:40:43 +09:00
edac edac,rcu: use synchronize_rcu() instead of call_rcu()+rcu_barrier() 2011-05-26 17:12:37 -07:00
eisa
firewire
firmware Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-05-23 09:12:26 -07:00
gpio arm gpio drivers: make them 'depends on ARM' 2011-05-29 14:06:42 -07:00
gpu vmscan: change shrinker API by passing shrink_control struct 2011-05-25 08:39:26 -07:00
hid Merge branch 'usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2011-05-23 12:33:02 -07:00
hwmon hwmon: (coretemp) Fix section mismatch 2011-05-27 02:24:54 -07:00
hwspinlock
i2c mfd: Use mfd cell platform_data for timberdale cells platform bits 2011-05-26 19:45:05 +02:00
ide block: fix mismerge of the DISK_EVENT_MEDIA_CHANGE removal 2011-06-02 05:29:19 +09:00
idle
ieee802154
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2011-05-26 12:13:57 -07:00
input Revert "tty: make receive_buf() return the amout of bytes received" 2011-06-04 06:33:24 +09:00
isdn gigaset: call module_put before restart of if_open() 2011-06-17 15:27:32 -04:00
leds leds: Add ASIC3 LED support 2011-05-26 19:45:46 +02:00
lguest
macintosh Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-05-23 09:12:26 -07:00
mca
md dm kcopyd: return client directly and not through a pointer 2011-05-29 13:03:13 +01:00
media Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 2011-05-27 10:14:22 -07:00
memstick
message Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-05-23 09:12:26 -07:00
mfd mfd: Fix build breakage caused by tps65910 gpio directory move 2011-05-28 08:38:55 +02:00
misc Revert "tty: make receive_buf() return the amout of bytes received" 2011-06-04 06:33:24 +09:00
mmc Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-05-27 19:51:32 -07:00
mtd Merge git://git.infradead.org/mtd-2.6 2011-05-27 20:06:53 -07:00
net farsync: add module_put to error path in fst_open() 2011-06-17 15:27:32 -04:00
nfc
nubus include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
of Merge branch 'devicetree/arm-next' of git://git.secretlab.ca/git/linux-2.6 into devel-stable 2011-05-25 00:08:17 +01:00
oprofile oprofile: Use linux/mutex.h 2011-05-24 12:45:59 +02:00
parisc
parport Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-05-26 13:19:00 -07:00
pci Merge git://git.infradead.org/iommu-2.6 2011-06-02 05:48:50 +09:00
pcmcia
platform Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86 2011-05-29 11:44:33 -07:00
pnp
power Merge git://git.infradead.org/battery-2.6 2011-05-27 10:12:35 -07:00
pps
ps3
ptp ptp: Added a clock driver for the National Semiconductor PHYTER. 2011-05-23 13:10:23 -07:00
rapidio rapidio: fix default routing initialization 2011-05-18 02:55:22 -07:00
regulator regulator: Fix _regulator_get_voltage if get_voltage callback is NULL 2011-05-27 10:49:30 +01:00
rtc drivers/rtc/rtc-mxc.c: remove defines already included in rtc.h 2011-05-26 17:12:33 -07:00
s390 [S390] irq: merge irq.c and s390_ext.c 2011-05-26 09:48:24 +02:00
sbus
scsi [SCSI] Fix oops caused by queue refcounting failure 2011-06-02 18:34:43 +09:00
sfi
sh Merge branch 'sh/genirq-threading' into sh-latest 2011-05-23 11:36:14 +09:00
sn
spi spi/spi_bfin_sport: new driver for a SPI bus via the Blackfin SPORT peripheral 2011-05-27 01:23:54 -06:00
ssb ssb: fix PCI(e) driver regression causing oops on PCI cards 2011-06-03 14:19:49 -04:00
staging Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-05-26 13:19:00 -07:00
target [SCSI] target: Convert TASK_ATTR to scsi_tcq.h definitions 2011-05-24 13:03:56 -04:00
tc
telephony pcmcia: Convert pcmcia_device_id declarations to const 2011-05-06 07:46:22 +02:00
thermal
tty Revert "tty: make receive_buf() return the amout of bytes received" 2011-06-04 06:33:24 +09:00
uio uio: clean uioinfo when uninstall uio driver 2011-04-19 16:59:57 -07:00
usb Merge branch 'for-usb-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci 2011-05-28 12:36:15 -07:00
uwb
vhost vhost: support event index 2011-05-30 11:14:15 +09:30
video drivers/video/mb862xx/mb862xxfbdrv.c needs uaccess.h 2011-05-26 17:12:32 -07:00
virtio virtio: add api for delayed callbacks 2011-05-30 11:14:16 +09:30
vlynq
w1 w1: add Maxim/Dallas DS2780 Stand-Alone Fuel Gauge IC support 2011-05-26 17:12:38 -07:00
watchdog mfd: Use mfd cell platform_data for rdc321x cells platform bits 2011-05-26 19:45:06 +02:00
xen Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/djm/tmem 2011-05-26 10:50:56 -07:00
zorro
Kconfig ptp: Added a brand new class driver for ptp clocks. 2011-05-23 13:01:00 -07:00
Makefile Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-05-28 12:35:15 -07:00