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: <20130213074409.GA16043@rhlx01.hs-esslingen.de>
Date:	Wed, 13 Feb 2013 08:44:09 +0100
From:	Andreas Mohr <andi@...as.de>
To:	Andreas Mohr <andi@...as.de>
Cc:	initramfs@...r.kernel.org, Maximilian Attems <maks@...ian.org>,
	Greg KH <gregkh@...uxfoundation.org>,
	Alan Stern <stern@...land.harvard.edu>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	linux-usb@...r.kernel.org
Subject: Re: [REGRESSION] [nailed] USB boot failure: USB: EHCI: make ehci-pci
 a separate driver

[CC initramfs-tools]

On Wed, Feb 13, 2013 at 08:16:28AM +0100, Andreas Mohr wrote:
> Hi,
> 
> On Wed, Feb 13, 2013 at 07:44:36AM +0100, Andreas Mohr wrote:
> > So, what to do? I'm now going to do some experimentation with git revert
> > on some revision, and I'm trying to establish the USB port dependency
> > (BIOS-owned handoff root hub invisible!?, as discussed in initial mail).
> 
> 
> After some bingo moment, seems the solution is easier than expected:
> 
> andi@...inet:~$ ls /tmp/initrd_extracted/lib/modules/3.7.0-rc5+/kernel/drivers/usb/host/
> ehci-hcd.ko  ohci-hcd.ko  uhci-hcd.ko  xhci-hcd.ko
> andi@...inet:~$ ls /lib/modules/3.7.0-rc5+/kernel/drivers/usb/host/
> ehci-hcd.ko  isp116x-hcd.ko   sl811_cs.ko   uhci-hcd.ko
> ehci-pci.ko  ohci-hcd.ko      sl811-hcd.ko  whci
> hwa-hc.ko    r8a66597-hcd.ko  u132-hcd.ko   xhci-hcd.ko
> 
> So it's probably only that the initrd simply fails to ship
> the ehci-pci.ko module (I could verify this by extending initrd content, BTW).
> Now the question would be:
> are modules listed in a static list on initramfs package/config side,
> or does the kernel fail to signal the list of required modules properly?
> (e.g. did some config-side files fail to get upgraded for this dependency??)
> 
> 
> So maybe it's not a "regression" per se, but it's at least a grave
> usability issue on kernel upgrade which should be handled as benignly as
> possible (i.e., without any disruption).

OK, initramfs-tools hook-functions file contains (even in git master):

        for arg in "$@" ; do
                case "$arg" in
                base)
                        modules="$modules ehci-hcd ohci-hcd uhci-hcd
usbhid"
                        modules="$modules xhci xhci-hcd"
                        modules="$modules hid-apple hid-cherry
hid-generic"
                        modules="$modules hid-logitech hid-logitech-dj"
                        modules="$modules hid-microsoft hid-sunplus"
                        modules="$modules btrfs ext2 ext3 ext4 ext4dev "
                        modules="$modules isofs jfs nfs reiserfs udf
xfs"
                        modules="$modules af_packet atkbd i8042
virtio_pci"
                ;;


So it seems it actually *is* the user side (initramfs-tools) which has
to maintain knowledge of all dependencies in a painfully maintained
hard-coded list, and it seems this change is now making it croak,
due to not knowing about the newly split extra ehci-pci.ko.

Questions:
- is this mechanism how one would want things to be?
  (is there a way to cleanly provide the accurately updated list
  from the kernel side? Or is there a scripted mechanism to at least extract
  all required *dependee* modules from the list of the ones that we
  already know of? That would have saved our a** here...)
- was this module change properly communicated sufficiently in advance,
  to (all/most of) some affected parties?
  If not, might want to do better next time if that's possible...
- should ehci-pci be added to the literal list now (and does this work
  properly on kernels which don't have it??), to get back to a working
  state ASAP?

Thanks,

Andreas Mohr
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ