A change to the Linux 6.13 kernel contributed by a Microsoft engineer ended up changing Linux x86_64 code without proper authorization and in turn causing troubles for users and now set to be disabled ahead of the Linux 6.13 stable release expected next Sunday.
↫ Michael Larabel
What I like about this story is that it seems to underline that the processes, checks, and balances in place in Linux kernel development seem to be working – at least, this time. A breaking change was caught during the prerelease phase, and a fix has been merged to make sure this issue will be fixed before the stable version of Linux 6.13 is released to the wider public. This all sounds great, but there is an element of this story that raises some serious questions.
The change itself was related to EXECMEM_ROX, and was intended to improve performance of 64bit AMD and Intel processors, but in turn, this new code broke Control Flow Integrity on some setups, causing some devices not to wake from hibernation while also breaking other features. What makes this spicy is that the code was merged without acknowledgement from any of the x86 kernel maintainers, which made a lot of people very unhappy – and understandably so.
So while the processes and checks and balances worked here, something still went horribly wrong, as such changes should not be able to be merged without acknowledgement from maintainers. This now makes me wonder how many more times this has happened without causing any instantly discoverable issues. For now, some code has been added to revert the offending changes, and Linux 6.13 will ship with Microsoft’s bad code disabled.
I imagine Microsoft was mainly focused on server performance here. No one seems to pay much attention to hibernation since it’s not even supported on Fedora….
Well, the Windows world doesn’t seem to pay much attention to hibernation either. I’d love to be able to hibernate my work computers, but of the 2 models I’ve had these last 10 years, from HP and Dell, none has been able to reliably enter into / exit of hibernation… When I don’t realise it before stuffing the thing in my backpack, it will kill consuming battery, overheat, consume even more battery trying to ventilate, and then die from exhaustion. Power management is definitely one of the thing I miss most from my powerbook era, as this was one of those things Apple had gotten absolutely right in their hardware. Is the Framework under linux reliable on this front ? I’m contemplating buying a repairable computer for my other half, as her laptop has recurring lose connection with the storage unit, but I want to make sure the hefty entry price will be worth it.
I have a Lenovo X13 that I bought refurbished last year that has no problems hibernating with openSUSE Leap. I think hibernation is one of those hit or miss things because it requires such both extensive hardware and software support. I decided to move to openSUSE some years back and have been very happy with their integration. Much better than even Windows.
At work, I have a Dell Precision laptop with Windows 10 and it has trouble hibernating.