All looked sunny enough on Sunday evening, when he set Linux 4.18-rc7 free to roam: “Unless something odd happens, this should be the last rc for 4.18,” the chief penguinista wrote. Something odd did, indeed, happen, and after nearly two days of discussion on the Linux Kernel Mailing List, Torvalds made the decision to revert:
El Reg took a backwards walk through the mailing list to work out what went wrong – or rather, what primarily went wrong, since there are so many commits since the previous release candidate.
One large headache involves ashmem, an application-level virtual memory area type introduced to the Linux kernel to solve a problem arising from Android’s security paranoia.
Android lacks a writable tmpfs temporarily file system, to prevent malicious applications doing naughty or messy stuff in /tmp, so ashmem was created to let apps “obtain memory that can be shared with peer processes without creating resource leaks.” In other words, ashmem can be used by programs to share information without having to go through a temporary file system, and only when there is no big pressure for free memory.
Then it emerged that the open-source flavor of Android would suffer a “userspace crash with v4.18-rc7”, and not on rc6, due to changes to the memory management code involving vma_is_anonymous(). Removing vma->vm_ops = &dummy_vm_ops from vma_init() stopped the crashes.
That confirmation led to this longish post from Torvalds, in which he considered pulling rc7.
Submitted by: Arnfried Walbrecht