Pada akhir pada tahun 2019, penyusunan semula kod paip kernel Linux menyaksikan beberapa logiknya berfungsi semula untuk hanya membangunkan pembaca jika diperlukan dan mengelakkan kemungkinan timbulnya masalah guruh. Tetapi ternyata beberapa perpustakaan Android menyalahgunakan fungsi dan ini menyebabkan aplikasi Android rosak ketika berpindah ke kernel baru-baru ini. Walaupun perisian ruang pengguna salah, kernel berpegang teguh pada kebijakannya untuk tidak melanggar ruang pengguna dan oleh kerana itu Linus Torvalds telah mengubah tingkah laku kod untuk Linux 5.14 dan akan disalurkan kembali ke kernel stabil sebelumnya.

Daripada hanya membangunkan pembaca jika diperlukan, perubahan yang digabungkan ke kernel Linux pada hari Jumaat akan membuat penulis menulis selalu membangunkan pembaca. Oleh kerana beberapa pustaka Android seperti Realm menyalahgunakan antara muka EPOLL, perubahan paip pada akhir 2019 akhirnya memecahkan beberapa aplikasi Android.

Ini telah mematahkan”banyak aplikasi Android”sejak Linux 5.5, tetapi mengingat jangka waktu yang lama antara versi kernel yang dihantar oleh Android, baru-baru ini menjadi masalah dengan Android beralih ke Linux 5.10 LTS. Tingkah laku Realm sejak itu ditangani tetapi akan memakan masa sebelum semua aplikasi memanfaatkan perpustakaan (dan perpustakaan bermasalah lain di luar sana) dikemas kini dan dibina semula, sehingga sekarang aplikasi Android yang rusak masih ada di luar sana.

Sementara ruang pengguna menyalahgunakan antara muka dan menyebabkan”semua aplikasi yang menggunakan perpustakaan ini berhenti berfungsi”, kernel Linux menjalankan kebijakan bahawa jika aplikasi terlepas dari perilaku/perubahan kernel baru, itu adalah regresi. Oleh itu, pada hari Jumaat Linus Torvalds mengarang dan menggabungkan perubahan ini untuk selalu membuat pembaca bangun pembaca walaupun tidak asing untuk lebih bersesuaian dengan tingkah laku lama.

Lihat ini komit bagi mereka yang berminat dengan semua butiran teknikal mengenai masalah dan penyelesaiannya.

Categories: IT Info