Zack's Kernel News
Patches and Merge Windows and Reverts, Oh My!
Just a little story about not being too sure what to do with some patches, and how it all worked out in the end.
Peter Hurley posted some patches to (among other things) revert some earlier patches for the not-yet-released Linux version 3.14 that had caused a problem. Marcel Holtmann didn't want to take all the patches because it was too far along in the -rc cycle. He agreed to take the reversion patches for 3.14 and hold onto the remaining patches for when the 3.15 merge window opened.
This worked fine for Peter, and Sander Eikelenboom also approved of reverting those patches. However, nearly a month passed, and Sander noticed that the reversions had not yet been applied. He pointed out that the 3.14-rc6 kernel had been released and time was growing short. He also noted that "this regression is known and reported since the merge window" and "the fix (revert of 3 patches) is known for over a month now." He urged folks to get the patch reversions into the main tree before Linus released the official 3.14 kernel.
John W. Linville asked for someone to send him a pull request for these patches, and Marcel replied:
"You have all 3 reverts already in wireless-next as part of a larger RFCOMM change from Peter that we had to do to get this bug fixed. The whole series ended up as 24 patches and was way too late in the -rc stage. In addition we did not have enough exposure from people running that patch set. I did not want to end up in a ping-pong situation with apply+revert over and over again until we gave this some test exposure." Marcel continued by saying, "I think it is pretty safe to revert these 3 patches from 3.14-rc6 since they broke more than they actually fixed. However everybody has to be aware that the real fix only comes in 3.15 since the change unfortunately is large. As far as we can tell, only users of RFCOMM TTY are affected. All RFCOMM socket users are fine."
Sander said he felt that the whole process was taking too long and that there was no good reason to delay the patch set and miss the chance to get the reversions into the 3.14 kernel.
Peter replied, "Known bugs sometimes roll out into mainline release because the alternative can be worse." He added, "I know the breakage around RFCOMM is frustrating, but I think the worst is behind us. After 3.15 gets some -rc testing, I will be happy to cherry-pick the critical fixes for -stable inclusion."
Sander reiterated that the breakage had been known since the merge window. He said, "I thought the 'standard policy' when things cause new regression and are not fixable (too intrusive, too time consuming, you name the reason), was to revert … (and possibly ASAP so the reverts also get some test coverage in mainline RCs). That's also why I tested the revert ASAP to let you know that that worked … at least for me."
At this point, Linus Torvalds came into the discussion. He agreed with Sander, saying, "why is this being discussed? We should not release a known-broken 3.14 just because the fix is too big for rc. Things should be reverted."
Peter pointed out that the breakage in question was simply a lockdep warning (i.e., not an oops or crash, just a warning of a possible problem). To revert those patches, on the other hand, would reintroduce some actual system hangs that had been encountered by real users.
In the face of this, Sander and Linus both agreed that the patches could wait. Linus said, "if it's just lockdep and unlikely to hit in real life and getting fixed later, I guess I don't really care all that deeply for 3.14."
Buy this article as PDF
Makes it easier for customers to move workloads into container-centric applications.
SUSE’s answer to container-centric operating systems.
Linux 4.9 is the biggest release in terms of number of commits.
The latest version of the official RHEL clone is here.
New release targets Linux professionals.
The Fedora project adds Wayland and Gnome 3.22
CeBIT 2017: Open Source Forum Call for Papers
Long-time Linux antagonist joins the revolution.
Major bug affects Debian/Ubuntu distributions.
Canonical releases the minimal edition for embedded devices, Internet of Things, and cloud deployments.