Di akhir pada tahun 2019 pengerjaan ulang kode pipa kernel Linux melihat beberapa logikanya dikerjakan ulang untuk hanya membangunkan pembaca jika diperlukan dan menghindari kemungkinan masalah kawanan yang menggelegar. Tetapi ternyata beberapa perpustakaan Android menyalahgunakan fungsionalitas dan ini menyebabkan aplikasi Android rusak saat pindah ke kernel terbaru. Sementara perangkat lunak ruang pengguna salah, kernel tetap berpegang pada kebijakannya untuk tidak melanggar ruang pengguna dan karena itu Linus Torvalds telah mengubah perilaku kode untuk Linux 5.14 dan untuk di-porting kembali ke kernel stabil sebelumnya.

Daripada hanya membangunkan pembaca jika diperlukan, perubahan yang digabungkan ke dalam kernel Linux pada hari Jumat akan membuat penulisan pipa selalu membangunkan pembaca. Karena beberapa perpustakaan Android seperti Realm menyalahgunakan antarmuka EPOLL, pipa berubah di akhir tahun 2019 akhirnya merusak beberapa aplikasi Android.

Ini telah merusak”banyak aplikasi Android”sejak Linux 5.5, tetapi mengingat jangka waktu yang lama antara versi kernel yang dikirimkan oleh Android, baru-baru ini menjadi masalah dengan transisi Android ke Linux 5.10 LTS. Perilaku Realm sejak itu telah diatasi tetapi akan memakan waktu beberapa saat sebelum semua aplikasi yang memanfaatkan perpustakaan (dan perpustakaan bermasalah lainnya di luar sana) diperbarui dan dibangun kembali, sehingga untuk saat ini aplikasi Android yang rusak masih ada di luar sana.

Sementara ruang pengguna menyalahgunakan antarmuka dan menyebabkan”semua aplikasi yang menggunakan pustaka ini berhenti bekerja”, kernel Linux membawa kebijakan bahwa jika aplikasi berhenti dari perilaku/perubahan kernel baru, itu adalah regresi. Jadi pada hari Jumat Linus Torvalds menulis dan menggabungkan perubahan ini untuk selalu membuat para pembaca bangun menulis meskipun asing agar lebih cocok dengan perilaku lama.

Lihat ini komit untuk mereka yang tertarik dengan semua detail teknis tentang masalah dan resolusi.

Categories: IT Info