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]
Message-ID: <YbyWuxoBSicFBGuv@hirez.programming.kicks-ass.net>
Date:   Fri, 17 Dec 2021 14:55:07 +0100
From:   Peter Zijlstra <peterz@...radead.org>
To:     Mathias Nyman <mathias.nyman@...ux.intel.com>
Cc:     Greg KH <gregkh@...uxfoundation.org>,
        Dave Hansen <dave.hansen@...el.com>,
        Lu Baolu <baolu.lu@...ux.intel.com>, x86@...nel.org,
        linux-kernel@...r.kernel.org, linux-usb@...r.kernel.org,
        Chunfeng Yun <chunfeng.yun@...iatek.com>
Subject: Re: earlyprintk=xdbc seems broken

On Fri, Dec 17, 2021 at 01:01:43PM +0200, Mathias Nyman wrote:
> I can reproduce this.
> Looks like problems started when driver converted to readl_poll_timeout_atomic() in:
> 
> 796eed4b2342 usb: early: convert to readl_poll_timeout_atomic()

I can confirm, reverting that solves the boot hang, things aren't quite
working for me though.

> Seems to hang when read_poll_timeout_atomic() calls ktime_* functions.
> Maybe  it's too early for ktime.

It certainly is, using ktime for delay loops sounds daft to me anyhow.

> After reverting that patch it works again for me.

[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.16.0-rc3+ root=UUID=a652986c-fbc6-4341-85c3-b4ad4402f130 ro debug ignore_loglevel sysrq_always_enabled usbcore.autosuspend=-1 earlyprintk=xdbc force_early_printk sched_verbose ftrace=nop mitigations=off nokaslr
...
[    0.000000] xhci_dbc:early_xdbc_parse_parameter: dbgp_num: 0
...
[    3.161367] xhci_dbc:early_xdbc_setup_hardware: failed to setup the connection to host

The machine does boot.. but I *am* getting tons of:

[  485.546898] usb usb4-port4: Cannot enable. Maybe the USB cable is bad?
[  485.546963] usb usb4-port4: config error

However, when I do:

$ echo enable > /sys/bus/pci/devices/0000:00:14.0/dbc

I get:

[  569.442899] xhci_hcd 0000:00:14.0: DbC connected
[  569.898910] xhci_hcd 0000:00:14.0: DbC configured

And the remote machine gets:

[2318863.729022] usb 2-3: new SuperSpeed USB device number 8 using xhci_hcd
[2318863.749299] usb 2-3: LPM exit latency is zeroed, disabling LPM.
[2318863.749529] usb 2-3: New USB device found, idVendor=1d6b, idProduct=0010, bcdDevice= 0.10
[2318863.749531] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[2318863.749532] usb 2-3: Product: Linux USB Debug Target
[2318863.749533] usb 2-3: Manufacturer: Linux Foundation
[2318863.749534] usb 2-3: SerialNumber: 0001
[2318863.751142] usb_debug 2-3:1.0: xhci_dbc converter detected
[2318863.751268] usb 2-3: xhci_dbc converter now attached to ttyUSB0

and a subsequent:

$ echo ponies > /dev/ttyDBC0

Does show up on the remote machine...


So XDBC 'works' but earlyprintk is still refusing service.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ