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] [day] [month] [year] [list]
Message-ID: <18923.37936.480968.59086@pilspetsen.it.uu.se>
Date:	Sun, 19 Apr 2009 23:14:24 +0200
From:	Mikael Pettersson <mikpe@...uu.se>
To:	Mikael Pettersson <mikpe@...uu.se>
Cc:	David Miller <davem@...emloft.net>, khc@...waw.pl,
	linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
	hugh@...itas.com
Subject: Re: [BUG] 2.6.30-rc broke ixp4xx_eth, firmware breakage?

Mikael Pettersson writes:
 > David Miller writes:
 >  > From: Mikael Pettersson <mikpe@...uu.se>
 >  > Date: Sat, 18 Apr 2009 23:53:25 +0200 (MEST)
 >  > 
 >  > > The ixp4xx_eth driver for my IXP420 XScale box (Synology DS101)
 >  > > worked fine in kernel 2.6.29. Now trying to boot 2.6.30-rc2 I'm
 >  > > greeted with the following failure during init:
 >  > > 
 >  > > Bringing up interface eth0:  RTNETLINK answers: No such file or directory
 >  > > Failed to bring up eth0.
 >  > > [FAILED]
 >  > > 
 >  > > There's a fairly long (at least 10 seconds) delay between the 'Bringing up'
 >  > > message and the RTNETLINK error.
 >  > > 
 >  > > A diff between the 2.6.29 and 2.6.30-rc2 boot logs indicates that
 >  > > the firmware doesn't get loaded:
 >  > 
 >  > Please make sure CONFIG_FIRMWARE_IN_KERNEL is set in your
 >  > configuration if this driver is being built statically
 >  > into your kernel.
 > 
 > ixp4xx_eth is built as a module and I have CONFIG_FIRMWARE_IN_KERNEL unset.
 > 
 >  > Otherwise, if modular, make sure the firmware files get installed into
 >  > the correct location and are available in the filesystem when the
 >  > driver loads.
 > 
 > The firmware isn't shipped with the kernel but is something users have to
 > download from Intel, build, and install themselves; once installed they work
 > across kernel versions. The files reside in /lib/firmware/'s top-level
 > directory, and they are available since firmware loading (triggered by init's
 > attempt to up eth0) occurs after / has been mounted. My userspace uses oldish
 > firmware-aware hotplug since udev's too heavy-weight.
 > 
 > This all works with 2.6.29 and older 2.6.2x kernels.
 > 
 > I'll do a bisect.

Bisection identified Arjan's f520360d93cdc37de5d972dac4bf3bdef6a7f6a7
"kobject: don't block for each kobject_uevent" as the culprit.
Hugh Dickins reverted that change a few days ago in commit
05f54c13cd0c33694eec39a265475c5d6cf223cf, noting that it was buggy
and broke CONFIG_UEVENT_HELPER_PATH by prematurely releasing memory
needed when exec:ing the helper program.

I tested 2.6.30-rc2 + Hugh's patch and with that everything works again.

Krzysztof: you can relax, ixp4xx_eth was just an innocent bystander.

Hugh: thanks for the revert, consider this a late Acked-by.

/Mikael
--
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