lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 22 Nov 2012 18:50:29 +0530
From:	naveen yadav <yad.naveen@...il.com>
To:	linux-kernel@...r.kernel.org, majordomo@...r.kernel.org,
	linux-usb@...r.kernel.org, marcel@...tmann.org,
	padovan@...fusion.mobi, stern@...land.harvard.edu
Subject: USB 2.0: No giveback comes for one submitted URB

Hi,

we are using 3.2.2 version of kernel.

When Bluetooth(connected to USB 2.0) is suspended, urb->use_count
value does not become zero and eventually there is a continuous wait
in wait_event() of usb_kill_urb().
          wait_event(usb_kill_urb_queue, atomic_read(&urb->use_count) == 0);

urb_count is incremented at only one place in usb_hcd_submit_urb() and
decremented in usb_hcd_giveback_urb(). (Also, in error case inside
usb_hcd_submit_urb()). After taking print of  urb->use_count at all
these places, I see, even without connecting the Bluetooth device
urb_count is incremented while below execution has never been
decremented.

dwc_otg: version 2.93a 15-MAY-2011
[    2.440000] ====>[usb_hcd_submit_urb][1482] urb->use_count = 1
pipe=2147484032 [vid=0x1d6b] [pid=0x0003][devno=1]
[    2.450000] ====>[usb_hcd_giveback_urb][1626] urb->use_count = 0
pipe=2147484032 [vid=0x1d6b] [pid=0x0003][devno=1]
[    2.460000] ====>[usb_hcd_submit_urb][1482] urb->use_count = 1
pipe=1077969280 [vid=0x1d6b] [pid=0x0003][devno=1]
[    2.480000] Core Release: 2.81a
.....
.....
[    3.490000] ====>[usb_hcd_giveback_urb][1626] urb->use_count = 0
pipe=2147484032 [vid=0x1d6b] [pid=0x0002][devno=1]
[    3.540000] ====>[usb_hcd_submit_urb][1482] urb->use_count = 2
pipe=1077969280 [vid=0x1d6b] [pid=0x0002][devno=1]
[    3.540000] ====>[usb_hcd_giveback_urb][1626] urb->use_count = 1
pipe=1077969280 [vid=0x1d6b] [pid=0x0002][devno=1]

urb->use_count corresponding to pipe 1077969280 incremented from 0 to
2 and never decremented back to 0 till Linux boots up.
Please find the complete log attached herewith.

Thanks

View attachment "USB_no_giveback.txt" of type "text/plain" (45312 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ