Linux 5.12-rc2 Likely Coming Early Due To That Nasty File-System Corruption Bug
Linus issued a warning over using 5.12-rc1 and renamed the Git tag to "v5.12-rc1-dontuse".
The reason is fairly straightforward: this merge window, we had a very innocuous code cleanup and simplification that raised no red flags at all, but had a subtle and very nasty bug in it: swap files stopped working right. And they stopped working in a particularly bad way: the offset of the start of the swap file was lost.
Swapping still happened, but it happened to the wrong part of the filesystem, with the obvious catastrophic end results.
...
Yes, this is very unfortunate, but it really wasn't a very obvious bug, and it didn't even show up in normal testing, exactly because swapfiles just aren't normal. So I'm not blaming the developers in question, and it also wasn't due to the odd timing of the merge window, it was just simply an unusually nasty bug that did get caught and is fixed in the current tree.
But I want everybody to be aware of because _if_ it bites you, it bites you hard, and you can end up with a filesystem that is essentially overwritten by random swap data. This is what we in the industry call "double ungood".
Linus went on to add in a message today that he is looking at carrying out an accelerated Linux 5.12-rc2 release, likely happening tomorrow (Friday) rather than on his usual Sunday cadence.
Linux 5.12-rc1 - or Git prior to yesterday - can easily wreck your file-system if using a swap file... It had been wreaking havoc on test systems here for more than one week.
Of course, if you are a devoted Phoronix reader this shouldn't be surprising: last week I was already warning of data loss issues on Linux 5.12 Git with several of my test systems seeing this nasty file-system corruption on Ubuntu where swapfiles are used several days before 5.12-rc1 was even issued.
The bisecting in such case was slow and then wasn't until Intel's CI systems began seeing corruption and being voiced along with their engineering resources to further investigate was a fix published and merged that landed into Linux 5.12 Git yesterday.
Linux 5.12 testing so far has been going a bit rough... pic.twitter.com/MCMhRGDQM7
— Michael Larabel (@michaellarabel) February 24, 2021
For those enjoying my kernel benchmarking and other Linux performance testing, you can show your support by joining Phoronix Premium or a PayPal tip. Or at the very least, just turn off any ad-blocker. Now that this corruption issue is resolved, I've already been working on some interesting Linux 5.12 performance tests that will begin rolling out shortly.