Aan het einde van 2019 zag een herwerking van de pijpcode van de Linux-kernel een deel van zijn logica herwerkt om de lezers alleen wakker te maken als dat nodig was en een mogelijk donderend kuddeprobleem te voorkomen. Maar het blijkt dat sommige Android-bibliotheken de functionaliteit hebben misbruikt en dit heeft geleid tot kapotte Android-applicaties bij het overstappen naar recente kernels. Hoewel de software voor de gebruikersruimte het bij het verkeerde eind heeft, houdt de kernel vast aan zijn beleid om de gebruikersruimte niet te verbreken en als zodanig heeft Linus Torvalds het gedrag van de code voor Linux 5.14 veranderd en wordt het terug geporteerd naar eerdere stabiele kernels.
In plaats van alleen lezers wakker te maken als dat nodig is, zal de wijziging die op vrijdag in de Linux-kernel is samengevoegd, ervoor zorgen dat pipe-writes lezers altijd wakker maken. Omdat sommige Android-bibliotheken zoals Realm de EPOLL-interface misbruiken, verandert de pipe eind 2019 eindigde met het breken van enkele Android-apps.
Dit heeft”een groot aantal Android-applicaties”verbroken sinds Linux 5.5, maar gezien de lange tijd tussen de kernelversies die door Android worden geleverd, is het pas recentelijk een probleem geworden met de overstap van Android naar Linux 5.10 LTS. Het gedrag van Realm is sindsdien aangepakt, maar het zal enige tijd duren voordat alle applicaties die gebruikmaken van de bibliotheek (en alle andere problematische bibliotheken die er zijn) zijn bijgewerkt en opnieuw gebouwd, dus voorlopig zijn er nog steeds kapotte Android-applicaties.
Terwijl de gebruikersruimte een interface misbruikte en dat ertoe leidde dat”alle applicaties die deze bibliotheek gebruikten stopten met werken”, voert de Linux-kernel een beleid dat als applicaties breken met nieuw kernelgedrag/veranderingen, dit een regressie is. Dus op vrijdag heeft Linus Torvalds deze wijziging geschreven en samengevoegd om lezers altijd wakker te maken, zelfs als ze vreemd zijn, om beter met het oude gedrag te kunnen leven.
Zie dit commit voor diegenen die geïnteresseerd zijn in alle technische details over het probleem en de oplossing.