Bug 208267
Summary: | usbip broken with latest kernels? | ||
---|---|---|---|
Product: | Drivers | Reporter: | DocMAX (forum) |
Component: | USB | Assignee: | Default virtual assignee for Drivers/USB (drivers_usb) |
Status: | RESOLVED CODE_FIX | ||
Severity: | normal | CC: | greg, jdieter, justin, kernel, m.v.b, spam, thomas.perret+kernel |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | Linux t420 5.7.4-arch1-1 #1 SMP PREEMPT Thu, 18 Jun 2020 16:01:07 +0000 x86_64 GNU/Linux | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
DocMAX
2020-06-21 13:57:09 UTC
Just found out: The problem begins with kernel 5.7! On Sun, Jun 21, 2020 at 02:52:33PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=208267 > > --- Comment #1 from DocMAX (forum@docmax.my.to) --- > Just found out: The problem begins with kernel 5.7! Does 5.6 work? Any chance you can use 'git bisect' to find the offending commit? thanks, greg k-h yes 5.6 works. as i said, starts with 5.7. i haven't much experience with git bisect. need some guidance. On Sun, Jun 21, 2020 at 05:03:25PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=208267 > > --- Comment #3 from DocMAX (forum@docmax.my.to) --- > yes 5.6 works. as i said, starts with 5.7. > i haven't much experience with git bisect. need some guidance. the man page for git bisect should have lots of guidance, see man git bisect for the details. To start, do: git bisect start git bisect good v5.6 git bisect bad v5.7 and then follow the prompts from there, building and booting the resulting kernel and saying 'good' or 'bad' depending on what happened. If you have specific questions about this, please let us know. Hello all, I can confirm that reverting the following five commits resolves the reported issue with usbip, at least on Qubes OS, which uses usbip to redirect/reattach USB devices between VMs running on Xen. * ef0f7d1877ac ("USB: Export generic USB device driver functions") * c9d503370f24 ("USB: Make it possible to "subclass" usb_device_driver") * aeebf2b54665 ("USB: Implement usb_device_match_id()") * 88b7381a939d ("USB: Select better matching USB drivers when available") * 77419aa403ca ("USB: Fallback to generic driver when specific driver fails") Thank you, Vefa FWIW, I've had this reported in Fedora as well: https://bugzilla.redhat.com/show_bug.cgi?id=1856443 On Sun, Jul 19, 2020 at 09:29:52PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=208267 > > Jonathan Dieter (jdieter@gmail.com) changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |jdieter@gmail.com > > --- Comment #6 from Jonathan Dieter (jdieter@gmail.com) --- > FWIW, I've had this reported in Fedora as well: > https://bugzilla.redhat.com/show_bug.cgi?id=1856443 Any chance someone can run 'git bisect' to find the offending commit? Sure, if commits in comment #5 aren't specific enough, I'll see if I can get a chance to run 'git bisect' this evening. git bisect gives me the following: 88b7381a939de0fa1f1b1629c56b03dca7077309 is the first bad commit commit 88b7381a939de0fa1f1b1629c56b03dca7077309 Author: Bastien Nocera <hadess@hadess.net> Date: Wed Oct 16 11:39:31 2019 +0200 USB: Select better matching USB drivers when available Now that USB device drivers can reuse code from the generic USB device driver, we need to make sure that they get selected rather than the generic driver. Add an id_table and match vfunc to the usb_device_driver struct, which will get used to select a better matching driver at ->probe time. This is a similar mechanism to that used in the HID drivers, with the generic driver being selected unless there's a better matching one found in the registered drivers (see hid_generic_match() in drivers/hid/hid-generic.c). Signed-off-by: Bastien Nocera <hadess@hadess.net> Acked-by: Alan Stern <stern@rowland.harvard.edu> Link: https://lore.kernel.org/r/20191016093933.693-5-hadess@hadess.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> drivers/usb/core/driver.c | 15 +++++++++++++-- drivers/usb/core/generic.c | 29 +++++++++++++++++++++++++++++ include/linux/usb.h | 2 ++ 3 files changed, 44 insertions(+), 2 deletions(-) Hello all, I just wanted to let all of the subscribers to this bug know that a patch that I prepared to resolve this issue was committed to Greg Kroah-Hartman's git tree for the USB subsystem. Sorry for the silence on my end. Here is a link to the commit: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?h=usb-linus&id=7a2f2974f26542b4e7b9b4321edb3cbbf3eeb91a I had already verified that the linked patch resolves this bug with USB-IP on Qubes OS, but it would be beneficial/desirable for others to verify this. I would also like to thank Jonathan Dieter for bisecting this issue to a specific commit, which was very helpful in preparing the committed patch. I just compiled 5.8.5 with your patch and usbip works correctly, thx! Just a side-question: Can things like this happen on LTS versions of the kernel? On Tue, Sep 01, 2020 at 10:41:28AM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=208267 > > --- Comment #12 from DocMAX (forum@docmax.my.to) --- > Just a side-question: Can things like this happen on LTS versions of the > kernel? "things" like what? Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for the rules of what type of patches are allowed in the stable kernel trees. thanks, greg k-h things = breaking functionality of well known programs that are even integrated in the kernel. On Tue, Sep 01, 2020 at 02:18:17PM +0000, bugzilla-daemon@bugzilla.kernel.org wrote: > https://bugzilla.kernel.org/show_bug.cgi?id=208267 > > --- Comment #14 from DocMAX (forum@docmax.my.to) --- > things = breaking functionality of well known programs that are even > integrated > in the kernel. Bugs happen, we are human :) Hello David, I realize that this is a bit late, but thanks for the feedback confirming that USB-IP functionality is restored with the patch! Hello Greg and DocMAX, Given that Greg has recently released Linux v5.8.6 with the commit fixing this issue (thanks!), would it be possible for one of you to close this bug? (Sorry making this administration request; I logged in with the intention of closing this bug, but it appears that I do not have the permission to do so.) |