Excellent. Sanity check here: This also means that trusty is not affected because the udev rules don't match.
I have /lib/udev/rules.d/40-hyperv-hotadd.rules:
# On Hyper-V Virtual Machines we want to add memory and cpus as soon as they appear
ATTR{[dmi/id]sys_vendor}!="Microsoft Corporation", GOTO="hyperv_hotadd_end"
ATTR{[dmi/id]product_name}!="Virtual Machine", GOTO="hyperv_hotadd_end"
# CPU hotadd request
SUBSYSTEM=="cpu", ACTION=="add", DEVPATH=="/devices/system/cpu/cpu[0-9]*", TEST=="online", ATTR{online}="1"
LABEL="hyperv_hotadd_end"
Whereas in xenial the file moved to /lib/udev/rules.d/40-vm-hotadd.rules and includes ATTR{[dmi/id]sys_vendor}=="Xen", GOTO="vm_hotadd_apply" which does trigger the bug.
Excellent. Sanity check here: This also means that trusty is not affected because the udev rules don't match.
I have /lib/udev/ rules.d/ 40-hyperv- hotadd. rules:
# On Hyper-V Virtual Machines we want to add memory and cpus as soon as they appear id]sys_ vendor} !="Microsoft Corporation", GOTO="hyperv_ hotadd_ end" id]product_ name}!= "Virtual Machine", GOTO="hyperv_ hotadd_ end"
ATTR{[dmi/
ATTR{[dmi/
# Memory hotadd request ="memory" , ACTION=="add", DEVPATH= ="/devices/ system/ memory/ memory[ 0-9]*", TEST=="state", ATTR{state} ="online"
SUBSYSTEM=
# CPU hotadd request ="/devices/ system/ cpu/cpu[ 0-9]*", TEST=="online", ATTR{online}="1"
SUBSYSTEM=="cpu", ACTION=="add", DEVPATH=
LABEL=" hyperv_ hotadd_ end"
Whereas in xenial the file moved to /lib/udev/ rules.d/ 40-vm-hotadd. rules and includes ATTR{[dmi/ id]sys_ vendor} =="Xen" , GOTO="vm_ hotadd_ apply" which does trigger the bug.