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 Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1551419 Title: Fix UUID endianness patch breaks cloud-init on Azure Status in linux package in Ubuntu: Confirmed Bug description: On Azure, cloud-init relies on the system-uuid as based by SMBIOS a unique ID for a cloud instance. If this ID ever changes, then cloud- init will attempt to reprovision the VM. This recent kernel patch in the Ubuntu kernel corrects the endianness for some SMBIOS fields, but also has the effect causing cloud-init to think that the system-uuid has changed: http://kernel.ubuntu.com/git/ubuntu/ubuntu- trusty.git/commit/drivers/firmware?id=3ec24c55be6c543797ba3ee9a227a5631aef607e The impact is that cloud-init attempts to reprovision the VM, often causing the customer to lose access to their VM. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1551419/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp