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-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 4 Apr 2019 15:14:47 -0400 (EDT)
From:   Alan Stern <stern@...land.harvard.edu>
To:     Jesse Hathaway <jesse@...ki-mvuki.org>
cc:     Bjorn Helgaas <helgaas@...nel.org>, Ingo Molnar <mingo@...hat.com>,
        Peter Zijlstra <peterz@...radead.org>,
        <linux-kernel@...r.kernel.org>, <linux-pci@...r.kernel.org>,
        Mathias Nyman <mathias.nyman@...el.com>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        <linux-usb@...r.kernel.org>
Subject: Re: Regression causes a hang on boot with a Comtrol PCI card

On Thu, 4 Apr 2019, Jesse Hathaway wrote:

> On Thu, Apr 4, 2019 at 12:16 PM Alan Stern <stern@...land.harvard.edu> wrote:
> > > I added debug statements to quirk_usb_early_handoff, quirk_usb_disable_ehci &
> > > ehci_bios_handoff. The box hangs right before calling:
> > >
> > > pci_write_config_byte(pdev, offset + 3, 1);
> >
> > Right _before_ that line?  Not _after_ it?
> 
> Sorry I should have been more precise, it hangs executing the above
> pci_write_config_function. I get the debug printk immediately preceding
> that line.
> 
> > That's surprising because the two preceding lines of code are the
> > condition of an "if" statement and a dev_dbg() call.  I don't see how
> > either of them could cause a hang.
> >
> > Maybe the hang is a delayed reaction to something happening somewhere
> > else.  But on the assumption that it isn't, you could try commenting
> > out various parts of ehci_bios_handoff to see which ones make a
> > difference.
> 
> will do
> 
> > > which is in ehci_bios_handoff:
> > >
> > > [   10.698240] DEBUG: Passed quirk_usb_early_handoff 1300
> > > [   10.704271] DEBUG: Passed quirk_usb_early_handoff 1308
> > > [   10.710206] DEBUG: Passed quirk_usb_disable_ehci 939
> > > [   10.715949] DEBUG: Passed quirk_usb_disable_ehci 945
> > > [   10.721685] DEBUG: Passed quirk_usb_disable_ehci 950
> > > [   10.727423] DEBUG: Passed quirk_usb_disable_ehci 958
> > > [   10.733160] DEBUG: Passed quirk_usb_disable_ehci 964
> > > [   10.738897] DEBUG: Passed quirk_usb_disable_ehci 968
> > > [   10.744633] DEBUG: Passed ehci_bios_handoff 849
> > > [   10.749884] DEBUG: Passed ehci_bios_handoff 884
> > >
> > > I have attached the debug output, and my modified pci-quirks.c file
> > > to the bug report, let me know what else I can do to help.
> 
> sorry I attached them to the bug report, but I have attached them to this
> email as well.

Okay.  You could try skipping that pci_write_config_byte() call.  The 
following loop would probably time out, and you might find that the 
code crashes later on.

You could also try setting try_handoff to 0 near the start of the
routine.  Your system plus the Comtrol PCI card could have the same
sort of bug as reported in Bugzilla #77021.

Alan Stern

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ