OK, I'm shifting this back to linux, because I think that the commit
that was backported is fixing a problem in a commit that _wasn't_
backported, therefore causing the issue. Here are the details:

In 95be58df7 [0], support for SMBIOS 3 was added, which introduces a
third version field (i.e. 3.2.1 vs. 2.9); as a result, dmi_ver is
converted from a u16 and a u32, and when it's read in, it's left-shifted
8 bits. (i.e. version 2.6 goes from 0x0206 to 0x020600). The endian-ness
checks are updated to match the shifted number (i.e. if SMBIOS version
>= 0x020600, little-endian, otherwise big-endian). This patch has NOT
been backported to trusty.

In ff4319dc7 [1], it was identified that this left-shifting happened in
the wrong place, and so it was moved to happen in a different place.
Simple enough. However, this patch HAS been backported to trusty,
despite the fact it is fixing behaviour that wasn't backported.

Crucially, though, the commit containing the backport [2] introduced the
left-shifting _without_ changing the endian-ness checks. This means that
the trusty kernel _always_ detects the SMBIOS version as being greater
than 2.6, which means on older versions of SMBIOS (like the one in use
on Azure), it returns the version with incorrect endian-ness.


[0] 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/firmware/dmi_scan.c?id=95be58df74a5b21e5a78e45fddb2fd59112524c5
[1] 
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/firmware/dmi_scan.c?id=ff4319dc7cd58c92b389960e375038335d157a60
[2] 
http://kernel.ubuntu.com/git/ubuntu/ubuntu-trusty.git/commit/drivers/firmware?id=3ec24c55be6c543797ba3ee9a227a5631aef607e

** Package changed: cloud-init (Ubuntu) => linux (Ubuntu)

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to cloud-init in Ubuntu.
https://bugs.launchpad.net/bugs/1551419

Title:
  Fix UUID endianness patch breaks cloud-init on Azure

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

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to