I'm continuing to bisect the mainline linux kernel, and also trying to
see if I can create a straightforward reproducible example.

First focus on bisecting was between 4.5 and 4.6, to figure out what
changed to suddenly have ipconfig working.  I've tracked it down to this
using bisect, and validated it afterwards:

commit 689de1d6ca95b3b5bd8ee446863bf81a4883ea25
Author: Linus Torvalds <torva...@linux-foundation.org>
Date:   Mon May 2 12:46:42 2016 -0700

    Minimal fix-up of bad hashing behavior of hash_64()

    This is a fairly minimal fixup to the horribly bad behavior of hash_64()
    with certain input patterns.

    In particular, because the multiplicative value used for the 64-bit hash
    was intentionally bit-sparse (so that the multiply could be done with
    shifts and adds on architectures without hardware multipliers), some
    bits did not get spread out very much.  In particular, certain fairly
    common bit ranges in the input (roughly bits 12-20: commonly with the
    most information in them when you hash things like byte offsets in files
    or memory that have block factors that mean that the low bits are often
    zero) would not necessarily show up much in the result.

    There's a bigger patch-series brewing to fix up things more completely,
    but this is the fairly minimal fix for the 64-bit hashing problem.  It
    simply picks a much better constant multiplier, spreading the bits out a
    lot better.

    NOTE! For 32-bit architectures, the bad old hash_64() remains the same
    for now, since 64-bit multiplies are expensive.  The bigger hashing
    cleanup will replace the 32-bit case with something better.

    The new constants were picked by George Spelvin who wrote that bigger
    cleanup series.  I just picked out the constants and part of the comment
    from that series.

    Cc: sta...@vger.kernel.org
    Cc: George Spelvin <li...@horizon.com>
    Cc: Thomas Gleixner <t...@linutronix.de>
    Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>


Next up is tracking down what changed between 4.7 and 4.8.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1652348

Title:
  initrd dhcp fails / ignores valid response

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1652348/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to