* [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
[not found] <20100322211328.28473.3965.malonedeb@gandwana.canonical.com>
@ 2010-07-13 15:14 ` David Kühling
2010-07-13 15:56 ` [Qemu-devel] " MarkusRechberger
2010-07-14 9:44 ` [Qemu-devel] " David Kühling
` (5 subsequent siblings)
6 siblings, 1 reply; 9+ messages in thread
From: David Kühling @ 2010-07-13 15:14 UTC (permalink / raw)
To: qemu-devel
This bugfix is incomplete. Isochronous transfers are still broken, when
running 32-bit software on a 64-bit kernel. Function
processcompl_compat() in devio.c needs a similar fix to the fix that was
applied to processcompl(). Looking at processcompl_compat() I see:
if (as->userbuffer && urb->actual_length)
if (copy_to_user(as->userbuffer, urb->transfer_buffer,
urb->actual_length))
return -EFAULT;
correct code would be something like
if (as->userbuffer && urb->actual_length) {
if (urb->number_of_packets > 0) /* Isochronous */
i = urb->transfer_buffer_length;
else /* Non-Isoc */
i = urb->actual_length;
if (copy_to_user(as->userbuffer, urb->transfer_buffer, i))
goto err_out;
}
(note the difference between urb->actual_length and
urb->transfer_buffer_length).
With kernel 2.6.32-23-generic x86_64 on Ubuntu 10.04, using proprietary
USB-hardware hooked up to the USB bus (with software compiled for
32-bit), I can directly observe how isochronous transfers retrieved via
ioctl(.. USBDEVFS_REAPURB ..) are too short, i.e. the kernel does not
write the end of the data packet to the supplied buffer. Booting on the
2.6.31 kernel still present from before I upgraded from Ubuntu 9.10, the
same software runs flawlessly.
As a workaround I'll use the older kernel for now (also I could compile
for 64-bit, actually...).
cheers,
David
--
usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
https://bugs.launchpad.net/bugs/544527
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: Fix Committed
Status in SANE-backends - Backends for SANE: Fix Committed
Status in Tv Time: Fix Committed
Status in Virtualbox: Fix Committed
Status in “linux” package in Ubuntu: Fix Committed
Bug description:
Binary package hint: tvtime
There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
For isochronous the entire packet needs to be copied and not only a part of it.
http://lkml.org/lkml/2010/2/26/490 (Report)
http://lkml.org/lkml/2010/2/27/226 (Bugfix)
please merge this bugfix asap.
ProblemType: Bug
Architecture: amd64
Date: Mon Mar 22 21:09:00 2010
DistroRelease: Ubuntu 10.04
LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
Package: tvtime 1.0.2-5ubuntu2
ProcEnviron:
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: tvtime
Uname: Linux 2.6.32-16-generic x86_64
^ permalink raw reply [flat|nested] 9+ messages in thread* [Qemu-devel] Re: [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
2010-07-13 15:14 ` [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...) David Kühling
@ 2010-07-13 15:56 ` MarkusRechberger
0 siblings, 0 replies; 9+ messages in thread
From: MarkusRechberger @ 2010-07-13 15:56 UTC (permalink / raw)
To: qemu-devel
On Tue, Jul 13, 2010 at 5:14 PM, David Kühling
<544527@bugs.launchpad.net> wrote:
> This bugfix is incomplete. Isochronous transfers are still broken, when
> running 32-bit software on a 64-bit kernel. Function
> processcompl_compat() in devio.c needs a similar fix to the fix that was
> applied to processcompl(). Looking at processcompl_compat() I see:
>
> if (as->userbuffer && urb->actual_length)
> if (copy_to_user(as->userbuffer, urb->transfer_buffer,
> urb->actual_length))
> return -EFAULT;
>
> correct code would be something like
>
> if (as->userbuffer && urb->actual_length) {
> if (urb->number_of_packets > 0) /* Isochronous */
> i = urb->transfer_buffer_length;
> else /* Non-Isoc */
> i = urb->actual_length;
> if (copy_to_user(as->userbuffer, urb->transfer_buffer, i))
> goto err_out;
> }
>
> (note the difference between urb->actual_length and
> urb->transfer_buffer_length).
>
> With kernel 2.6.32-23-generic x86_64 on Ubuntu 10.04, using proprietary
> USB-hardware hooked up to the USB bus (with software compiled for
> 32-bit), I can directly observe how isochronous transfers retrieved via
> ioctl(.. USBDEVFS_REAPURB ..) are too short, i.e. the kernel does not
> write the end of the data packet to the supplied buffer. Booting on the
> 2.6.31 kernel still present from before I upgraded from Ubuntu 9.10, the
> same software runs flawlessly.
>
> As a workaround I'll use the older kernel for now (also I could compile
> for 64-bit, actually...).
>
yes you're right, since we distribute 64 and 32bit drivers it doesn't
really affect us.
before applying any change you can submit some patches to us and we
can test them if needed.
Things should definitely not go upstream untested anymore as it used
to happen in the past with various kernel releases. (isochronous is
bugged with 2.6.26/27/28 (memory leak) and 32/33 (copying wrong memory
area). Luckily our hardware supports switching from ISO to BULK in
order to work around those issues - but bulk transfers have a bad
performance in userspace
Markus
> cheers,
>
> David
>
> --
> usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
> https://bugs.launchpad.net/bugs/544527
> You received this bug notification because you are a direct subscriber
> of the bug.
>
--
usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
https://bugs.launchpad.net/bugs/544527
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: Fix Committed
Status in SANE-backends - Backends for SANE: Fix Committed
Status in Tv Time: Fix Committed
Status in Virtualbox: Fix Committed
Status in “linux” package in Ubuntu: Fix Committed
Bug description:
Binary package hint: tvtime
There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
For isochronous the entire packet needs to be copied and not only a part of it.
http://lkml.org/lkml/2010/2/26/490 (Report)
http://lkml.org/lkml/2010/2/27/226 (Bugfix)
please merge this bugfix asap.
ProblemType: Bug
Architecture: amd64
Date: Mon Mar 22 21:09:00 2010
DistroRelease: Ubuntu 10.04
LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
Package: tvtime 1.0.2-5ubuntu2
ProcEnviron:
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: tvtime
Uname: Linux 2.6.32-16-generic x86_64
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
[not found] <20100322211328.28473.3965.malonedeb@gandwana.canonical.com>
2010-07-13 15:14 ` [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...) David Kühling
@ 2010-07-14 9:44 ` David Kühling
2010-09-14 18:53 ` Aleksandr Koltsoff
` (4 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: David Kühling @ 2010-07-14 9:44 UTC (permalink / raw)
To: qemu-devel
I'm not very experienced with kernel development, so didn't try to
create a patch for now. It wasn't even immediately obvious were to send
patches to. If nobody else wants to work on the issue I'll try to
allocate some time for it. Pretty amazing how the bug got in the kernel
in the first place. I mean, even the simplest USB testcase could have
caught it.
cheers,
David
--
usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
https://bugs.launchpad.net/bugs/544527
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: Fix Committed
Status in SANE-backends - Backends for SANE: Fix Committed
Status in Tv Time: Fix Committed
Status in Virtualbox: Fix Committed
Status in “linux” package in Ubuntu: Fix Committed
Bug description:
Binary package hint: tvtime
There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
For isochronous the entire packet needs to be copied and not only a part of it.
http://lkml.org/lkml/2010/2/26/490 (Report)
http://lkml.org/lkml/2010/2/27/226 (Bugfix)
please merge this bugfix asap.
ProblemType: Bug
Architecture: amd64
Date: Mon Mar 22 21:09:00 2010
DistroRelease: Ubuntu 10.04
LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
Package: tvtime 1.0.2-5ubuntu2
ProcEnviron:
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: tvtime
Uname: Linux 2.6.32-16-generic x86_64
^ permalink raw reply [flat|nested] 9+ messages in thread* [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
[not found] <20100322211328.28473.3965.malonedeb@gandwana.canonical.com>
2010-07-13 15:14 ` [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...) David Kühling
2010-07-14 9:44 ` [Qemu-devel] " David Kühling
@ 2010-09-14 18:53 ` Aleksandr Koltsoff
2010-11-08 12:05 ` David Kühling
` (3 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: Aleksandr Koltsoff @ 2010-09-14 18:53 UTC (permalink / raw)
To: qemu-devel
Currently this stops Altera Quartus II Web Edition from working on Lucid
and also the scanner driver for Canon P-150 (proprietary sane-backend
with open source .so-shim). Lucky me I have and try to use both.
Also, a lot of packages have "Fix committed" in them in this report, but
I can't see the fix anywhere?
--
usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
https://bugs.launchpad.net/bugs/544527
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: Fix Committed
Status in SANE-backends - Backends for SANE: Fix Committed
Status in Tv Time: Fix Committed
Status in Virtualbox: Fix Committed
Status in “linux” package in Ubuntu: Fix Committed
Bug description:
Binary package hint: tvtime
There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
For isochronous the entire packet needs to be copied and not only a part of it.
http://lkml.org/lkml/2010/2/26/490 (Report)
http://lkml.org/lkml/2010/2/27/226 (Bugfix)
please merge this bugfix asap.
ProblemType: Bug
Architecture: amd64
Date: Mon Mar 22 21:09:00 2010
DistroRelease: Ubuntu 10.04
LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
Package: tvtime 1.0.2-5ubuntu2
ProcEnviron:
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: tvtime
Uname: Linux 2.6.32-16-generic x86_64
^ permalink raw reply [flat|nested] 9+ messages in thread* [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
[not found] <20100322211328.28473.3965.malonedeb@gandwana.canonical.com>
` (2 preceding siblings ...)
2010-09-14 18:53 ` Aleksandr Koltsoff
@ 2010-11-08 12:05 ` David Kühling
2011-01-10 18:17 ` Jeremy Foshee
` (2 subsequent siblings)
6 siblings, 0 replies; 9+ messages in thread
From: David Kühling @ 2010-11-08 12:05 UTC (permalink / raw)
To: qemu-devel
This is not fixed in Ubuntu 10.10 (i.e. 32-bit apps running on 64-bit
kernel get incorrectly truncated isochronous transfers). Re-opened a
new bug report:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/672516
--
usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
https://bugs.launchpad.net/bugs/544527
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
Status in QEMU: Fix Committed
Status in SANE-backends - Backends for SANE: Fix Committed
Status in Tv Time: Fix Committed
Status in Virtualbox: Fix Committed
Status in “linux” package in Ubuntu: Fix Committed
Bug description:
Binary package hint: tvtime
There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
For isochronous the entire packet needs to be copied and not only a part of it.
http://lkml.org/lkml/2010/2/26/490 (Report)
http://lkml.org/lkml/2010/2/27/226 (Bugfix)
please merge this bugfix asap.
ProblemType: Bug
Architecture: amd64
Date: Mon Mar 22 21:09:00 2010
DistroRelease: Ubuntu 10.04
LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
Package: tvtime 1.0.2-5ubuntu2
ProcEnviron:
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: tvtime
Uname: Linux 2.6.32-16-generic x86_64
^ permalink raw reply [flat|nested] 9+ messages in thread* [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
[not found] <20100322211328.28473.3965.malonedeb@gandwana.canonical.com>
` (3 preceding siblings ...)
2010-11-08 12:05 ` David Kühling
@ 2011-01-10 18:17 ` Jeremy Foshee
2011-01-10 18:42 ` Aurelien Jarno
2011-02-20 17:12 ` Aurelien Jarno
2015-01-06 2:57 ` POJAR GEO
6 siblings, 1 reply; 9+ messages in thread
From: Jeremy Foshee @ 2011-01-10 18:17 UTC (permalink / raw)
To: qemu-devel
** Changed in: linux (Ubuntu)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/544527
Title:
usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
Status in QEMU:
Fix Committed
Status in SANE-backends - Backends for SANE:
Fix Committed
Status in Tv Time:
Fix Committed
Status in Virtualbox:
Fix Committed
Status in “linux” package in Ubuntu:
Fix Released
Bug description:
Binary package hint: tvtime
There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
For isochronous the entire packet needs to be copied and not only a part of it.
http://lkml.org/lkml/2010/2/26/490 (Report)
http://lkml.org/lkml/2010/2/27/226 (Bugfix)
please merge this bugfix asap.
ProblemType: Bug
Architecture: amd64
Date: Mon Mar 22 21:09:00 2010
DistroRelease: Ubuntu 10.04
LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
Package: tvtime 1.0.2-5ubuntu2
ProcEnviron:
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: tvtime
Uname: Linux 2.6.32-16-generic x86_64
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
2011-01-10 18:17 ` Jeremy Foshee
@ 2011-01-10 18:42 ` Aurelien Jarno
0 siblings, 0 replies; 9+ messages in thread
From: Aurelien Jarno @ 2011-01-10 18:42 UTC (permalink / raw)
To: qemu-devel
Can we configure launchpad to not receive such an email? We don't really
care about kernel bugs in Ubuntu, even if they affect QEMU.
On Mon, Jan 10, 2011 at 06:17:13PM -0000, Jeremy Foshee wrote:
> ** Changed in: linux (Ubuntu)
> Status: Fix Committed => Fix Released
>
> --
> You received this bug notification because you are a member of qemu-
> devel-ml, which is subscribed to QEMU.
> https://bugs.launchpad.net/bugs/544527
>
> Title:
> usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
>
> Status in QEMU:
> Fix Committed
> Status in SANE-backends - Backends for SANE:
> Fix Committed
> Status in Tv Time:
> Fix Committed
> Status in Virtualbox:
> Fix Committed
> Status in “linux” package in Ubuntu:
> Fix Released
>
> Bug description:
> Binary package hint: tvtime
>
> There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
> For isochronous the entire packet needs to be copied and not only a part of it.
>
> http://lkml.org/lkml/2010/2/26/490 (Report)
> http://lkml.org/lkml/2010/2/27/226 (Bugfix)
>
> please merge this bugfix asap.
>
> ProblemType: Bug
> Architecture: amd64
> Date: Mon Mar 22 21:09:00 2010
> DistroRelease: Ubuntu 10.04
> LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
> Package: tvtime 1.0.2-5ubuntu2
> ProcEnviron:
> LANG=de_DE.UTF-8
> SHELL=/bin/bash
> ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
> SourcePackage: tvtime
> Uname: Linux 2.6.32-16-generic x86_64
>
>
>
>
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
^ permalink raw reply [flat|nested] 9+ messages in thread
* [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
[not found] <20100322211328.28473.3965.malonedeb@gandwana.canonical.com>
` (4 preceding siblings ...)
2011-01-10 18:17 ` Jeremy Foshee
@ 2011-02-20 17:12 ` Aurelien Jarno
2015-01-06 2:57 ` POJAR GEO
6 siblings, 0 replies; 9+ messages in thread
From: Aurelien Jarno @ 2011-02-20 17:12 UTC (permalink / raw)
To: qemu-devel
** Changed in: qemu
Status: Fix Committed => Invalid
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/544527
Title:
usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane
scanners, ...)
Status in QEMU:
Invalid
Status in SANE-backends - Backends for SANE:
Fix Committed
Status in Tv Time:
Fix Committed
Status in Virtualbox:
Fix Committed
Status in “linux” package in Ubuntu:
Fix Released
Bug description:
Binary package hint: tvtime
There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
For isochronous the entire packet needs to be copied and not only a part of it.
http://lkml.org/lkml/2010/2/26/490 (Report)
http://lkml.org/lkml/2010/2/27/226 (Bugfix)
please merge this bugfix asap.
ProblemType: Bug
Architecture: amd64
Date: Mon Mar 22 21:09:00 2010
DistroRelease: Ubuntu 10.04
LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
Package: tvtime 1.0.2-5ubuntu2
ProcEnviron:
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: tvtime
Uname: Linux 2.6.32-16-generic x86_64
^ permalink raw reply [flat|nested] 9+ messages in thread* [Qemu-devel] [Bug 544527] Re: usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane scanners, ...)
[not found] <20100322211328.28473.3965.malonedeb@gandwana.canonical.com>
` (5 preceding siblings ...)
2011-02-20 17:12 ` Aurelien Jarno
@ 2015-01-06 2:57 ` POJAR GEO
6 siblings, 0 replies; 9+ messages in thread
From: POJAR GEO @ 2015-01-06 2:57 UTC (permalink / raw)
To: qemu-devel
** No longer affects: tvtime
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/544527
Title:
usbfs is bugged with >2.6.32.9 and <=2.6.33 (breaks VMWare, Qemu, sane
scanners, ...)
Status in QEMU:
Invalid
Status in SANE-backends - Backends for SANE:
Fix Committed
Status in Virtualbox:
Fix Committed
Status in linux package in Ubuntu:
Fix Released
Bug description:
Binary package hint: tvtime
There's a problem with isochronous and usbfs, suse tried to improve usbfs but it end up that it broke usbfs.
For isochronous the entire packet needs to be copied and not only a part of it.
http://lkml.org/lkml/2010/2/26/490 (Report)
http://lkml.org/lkml/2010/2/27/226 (Bugfix)
please merge this bugfix asap.
ProblemType: Bug
Architecture: amd64
Date: Mon Mar 22 21:09:00 2010
DistroRelease: Ubuntu 10.04
LiveMediaBuild: Ubuntu 10.04 "Lucid Lynx" - Alpha amd64 (20100322)
Package: tvtime 1.0.2-5ubuntu2
ProcEnviron:
LANG=de_DE.UTF-8
SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.32-16.25-generic
SourcePackage: tvtime
Uname: Linux 2.6.32-16-generic x86_64
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/544527/+subscriptions
^ permalink raw reply [flat|nested] 9+ messages in thread