linux/drivers/staging
Max Vozeler 7606ee8aa3 staging: usbip: vhci: update reference count for usb_device
This fixes an oops observed when reading status during
removal of a device:

[ 1706.648285] general protection fault: 0000 [#1] SMP
[ 1706.648294] last sysfs file: /sys/devices/platform/vhci_hcd/status
[ 1706.648297] CPU 1
[ 1706.648300] Modules linked in: binfmt_misc microcode fuse loop vhci_hcd(N) usbip(N) usbcore usbip_common_mod(N) rtc_core rtc_lib joydev dm_mirror dm_region_hash dm_log linear dm_snapshot xennet dm_mod ext3 mbcache jbd processor thermal_sys hwmon xenblk cdrom
[ 1706.648324] Supported: Yes
[ 1706.648327] Pid: 10422, comm: usbip Tainted: G          N  2.6.32.12-0.7-xen #1
[ 1706.648330] RIP: e030:[<ffffffff801b10d5>]  [<ffffffff801b10d5>] strnlen+0x5/0x40
[ 1706.648340] RSP: e02b:ffff8800a994dd30  EFLAGS: 00010286
[ 1706.648343] RAX: ffffffff80481ec1 RBX: 0000000000000000 RCX: 0000000000000002
[ 1706.648347] RDX: 00200d1d4f1c001c RSI: ffffffffffffffff RDI: 00200d1d4f1c001c
[ 1706.648350] RBP: ffff880129a1c0aa R08: ffffffffa01901c4 R09: 0000000000000006
[ 1706.648353] R10: 0000000000000000 R11: 0000000000000000 R12: ffff8800a9a1c0ab
[ 1706.648357] R13: 00200d1d4f1c001c R14: 00000000ffffffff R15: ffff880129a1c0aa
[ 1706.648363] FS:  00007f2f2e9ca700(0000) GS:ffff880001018000(0000) knlGS:0000000000000000
[ 1706.648367] CS:  e033 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 1706.648370] CR2: 000000000071b048 CR3: 00000000b4b68000 CR4: 0000000000002660
[ 1706.648374] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1706.648378] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 1706.648381] Process usbip (pid: 10422, threadinfo ffff8800a994c000, task ffff88007b170200)
[ 1706.648385] Stack:
[ 1706.648387]  ffffffff801b28c9 0000000000000002 ffffffffa01901c4 ffff8800a9a1c0ab
[ 1706.648391] <0> ffffffffa01901c6 ffff8800a994de08 ffffffff801b339b 0000000000000004
[ 1706.648397] <0> 0000000affffffff ffffffffffffffff 00000000000067c0 0000000000000000
[ 1706.648404] Call Trace:
[ 1706.648413]  [<ffffffff801b28c9>] string+0x39/0xe0
[ 1706.648419]  [<ffffffff801b339b>] vsnprintf+0x1eb/0x620
[ 1706.648423]  [<ffffffff801b3813>] sprintf+0x43/0x50
[ 1706.648429]  [<ffffffffa018d719>] show_status+0x1b9/0x220 [vhci_hcd]
[ 1706.648438]  [<ffffffff8024a2b7>] dev_attr_show+0x27/0x60
[ 1706.648445]  [<ffffffff80144821>] sysfs_read_file+0x101/0x1d0
[ 1706.648451]  [<ffffffff800da4a7>] vfs_read+0xc7/0x130
[ 1706.648457]  [<ffffffff800da613>] sys_read+0x53/0xa0
[ 1706.648462]  [<ffffffff80007458>] system_call_fastpath+0x16/0x1b
[ 1706.648468]  [<00007f2f2de40f30>] 0x7f2f2de40f30
[ 1706.648470] Code: 66 0f 1f 44 00 00 48 83 c2 01 80 3a 00 75 f7 48 89 d0 48 29 f8 f3 c3 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 48 85 f6 74 29 <80> 3f 00 74 24 48 8d 56 ff 48 89 f8 eb 0e 0f 1f 44 00 00 48 83
[ 1706.648507] RIP  [<ffffffff801b10d5>] strnlen+0x5/0x40
[ 1706.648511]  RSP <ffff8800a994dd30>
[ 1706.649575] ---[ end trace b4eb72bf2e149593 ]---

Signed-off-by: Max Vozeler <max@vozeler.com>
Tested-by: Mark Wehby <MWehby@luxotticaRetail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-20 16:01:48 -08:00
..
asus_oled Staging: Merge 2.6.37-rc5 into staging-next 2010-12-07 10:47:56 -08:00
ath6kl Staging: ath6kl: fix potential buffer overflow 2011-01-20 12:01:23 -08:00
autofs Add a dentry op to allow processes to be held during pathwalk transit 2011-01-15 20:07:31 -05:00
bcm staging: fix build failure in bcm driver 2011-01-17 17:39:39 -08:00
brcm80211 staging: brcm80211: Fix WL_<type> logging macros 2010-12-16 12:25:37 -08:00
comedi staging: comedi: ni_labpc: Use shared IRQ for PCMCIA card 2011-01-20 12:15:51 -08:00
cptm1217 staging: clearpad_tm1217 depends on INPUT 2010-11-19 17:17:45 -08:00
crystalhd drivers/staging: Remove unnecessary casts of pci_get_drvdata 2010-11-16 12:06:47 -08:00
cs5535_gpio cs5535: deprecate older cs5535_gpio driver 2011-01-13 08:03:13 -08:00
cx25821 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-01-10 16:04:53 -08:00
cxt1e1 Staging: cxt1e1: rename global log_level variable 2010-12-10 10:46:30 -08:00
dabusb [media] dabusb: Move it to staging to be deprecated 2010-12-29 08:17:15 -02:00
dt3155v4l [media] V4L: remove V4L1 compatibility mode 2010-12-29 08:17:07 -02:00
easycap Staging: Merge 2.6.37-rc5 into staging-next 2010-12-07 10:47:56 -08:00
echo
et131x drivers/staging: Remove unnecessary casts of pci_get_drvdata 2010-11-16 12:06:47 -08:00
frontier Staging: Merge 2.6.37-rc5 into staging-next 2010-12-07 10:47:56 -08:00
ft1000 staging: ft1000: Fix kernel panic when use ioctl. 2010-12-16 12:20:05 -08:00
go7007 Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-01-10 16:04:53 -08:00
hv staging: hv: Removed unneeded call to netif_stop_queue() in hv_netvsc 2011-01-20 11:58:27 -08:00
iio iio: Fixpoint formatted output bugfix 2011-01-20 12:06:07 -08:00
intel_sst Staging: Merge 2.6.37-rc5 into staging-next 2010-12-07 10:47:56 -08:00
keucr Staging: Merge 2.6.37-rc5 into staging-next 2010-12-07 10:47:56 -08:00
line6 staging/line6: Fix sparse warning 'Using plain integer as NULL pointer' 2010-12-08 14:31:01 -08:00
lirc Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2011-01-07 17:02:58 -08:00
memrar Staging: sep: handle the memrar stuff in the headers 2010-11-29 11:17:27 -08:00
msm Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
octeon Merge 'staging-next' to Linus's tree 2010-10-28 09:44:56 -07:00
olpc_dcon Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
panel llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
phison Staging: phison: use DEFINE_PCI_DEVICE_TABLE 2010-12-09 16:29:48 -08:00
pohmelfs pohmelfs: double-free and leak 2011-01-12 20:02:44 -05:00
quatech_usb2
quickstart Staging: quickstart: free after input_unregister_device() 2010-11-16 12:25:52 -08:00
rt2860 staging: rt2860: Fix incorrect netif_stop_queue usage warning 2011-01-20 12:06:06 -08:00
rt2870 Staging: rt2870: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:46 -07:00
rtl8187se staging: rtl8187se: Change panic to warn when RF switch turned off 2010-11-16 12:25:53 -08:00
rtl8192e Staging: rtl8192e: use DEFINE_PCI_DEVICE_TABLE 2010-12-09 16:29:48 -08:00
rtl8192u Staging: rtl8192u: add missing curly braces 2010-12-10 10:39:55 -08:00
rtl8712 staging: r8712u: Fix memory leak in firmware loading 2011-01-20 12:01:24 -08:00
samsung-laptop Merge branch 'master' into for-next 2010-12-22 18:57:02 +01:00
sbe-2t3e3 Staging: sbe-2t3e3: Makefile: replace the use of <module>-objs with <module>-y 2010-10-08 07:23:45 -07:00
se401 [media] staging: se401 depends on USB 2010-12-30 22:29:41 -02:00
sep staging: sep: fix comments in sep_get_static_pool_addr_handler 2010-12-10 10:39:55 -08:00
serqt_usb2
slicoss
sm7xx Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-01-14 09:29:05 -08:00
smbfs staging: smbfs building fix 2011-01-17 01:50:52 -05:00
solo6x10 staging: solo6010 depends on I2C 2010-12-09 16:29:49 -08:00
speakup Staging: speakup: &&/|| confusion in silent_store() 2011-01-20 12:06:07 -08:00
spectra Staging: Merge 2.6.37-rc5 into staging-next 2010-12-07 10:47:56 -08:00
ste_rmi4 Staging: ste_rmi4: use after input_unregister_device() 2011-01-20 12:01:23 -08:00
ti-st staging: ti-st: move TI_ST from staging to misc/ 2010-10-06 08:25:06 -07:00
tidspbridge staging: tidspbridge: replace mbox callback with notifier_call 2011-01-20 12:19:47 -08:00
tm6000 [media] tm6000: Fix mutex unbalance 2010-12-29 08:17:21 -02:00
usbip staging: usbip: vhci: update reference count for usb_device 2011-01-20 16:01:48 -08:00
usbvideo [media] staging: usbvideo/vicam depends on USB 2010-12-30 22:29:39 -02:00
vme Staging: remove unintended Module.symvers file 2011-01-20 09:13:14 -08:00
vt6655 drivers/staging: Remove unnecessary semicolons 2010-11-16 12:06:47 -08:00
vt6656 drivers/staging: Remove unnecessary semicolons 2010-11-16 12:06:47 -08:00
westbridge Staging: Merge 2.6.37-rc2 into staging-next 2010-11-16 10:44:50 -08:00
winbond Staging: w35und: Kill struct wb_usb 2010-12-01 14:45:47 -08:00
wlags49_h2 drivers/staging: Remove unnecessary casts of pci_get_drvdata 2010-11-16 12:06:47 -08:00
wlags49_h25
wlan-ng Staging: Merge 2.6.37-rc2 into staging-next 2010-11-16 10:44:50 -08:00
xgifb Staging: xgfib: put parenthesis in the right place 2011-01-20 12:01:23 -08:00
zram Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2011-01-10 16:04:53 -08:00
Kconfig cs5535: deprecate older cs5535_gpio driver 2011-01-13 08:03:13 -08:00
Makefile cs5535: deprecate older cs5535_gpio driver 2011-01-13 08:03:13 -08:00
staging.c