[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#602254: initramfs-tools: [lib]crc32c* modules handling



Package: initramfs-tools
Version: 0.98.5
Severity: normal


libcrc32c requires one crc32c provider (currently crc32c or
crc32c-intel) to work properly. libcrc32c does not have any hard
dependencies:

  % modinfo libcrc32c | grep depends
  depends:      

Some drivers like the bnx2x network module:

  % modinfo bnx2x | grep depends
  depends:        mdio,libcrc32c

... as well as the btrfs filesystem module:

  % modinfo btrfs | grep libcrc
  depends:        libcrc32c

require libcrc32c and therefore depend on a crc32c provider to work
properly on the other hand.

I've bugreports that servers using bnx2x based NICs (like HP
Proliant BL460cG6, Dell R210,...) don't work out-of-the-box because
of unresolved symbols during boot - affecting both Debian and
Ubuntu. I can't trigger this bug on a booted system with loading
btrfs - *crc32* is loaded as intended. Instead there seems to be a
race condition when multiple modprobes are asking for the same
driver (like what happens with multiple similar NICs asking for
bnx2x).

Manually adding crc32c, libcrc32c and mdio to conf/modules is known
to solve the problem. AFAICS this works because the modules in
conf/modules are loaded through load_modules() *before* relying on
automatisms which seem to fail.

I found the following discussions with upstream:

  http://article.gmane.org/gmane.linux.kernel.cryptoapi/4132
  http://lkml.org/lkml/2010/5/26/63

In linux-2.6.git I noticed commit
9bea7f23952d5948f8e5dfdff4de09bb9981fb5f - though the issue is known
to be still present with kernel 2.6.35 and current userspace from
Debian/unstable, so whether it's a bug in i-t, kernel or
module-init-tools - we should investigate on that.

This issue might qualify for a RC bug, though needs deeper
investigation. I'm currently short of time and don't have a decent
solution besides the workaround available, tough I'd like to see
this issue at least documented in Debian's BTS for now and welcome
any suggestions how we we could solve this problem.

PS: I don't own the according hardware to trigger the bug on my own,
but if we need any testing/feedback I think the bugreporters might
help us out - so please ping me then.

regards,
-mika-



Reply to: