Saat ini Linus Torvalds kebanyakan berurusan dengan menggiring kode baru ke dalam kernel Linux dan menjadi penjaga gerbang daripada secara aktif mengembangkan sendiri kode kernel baru, untuk Linux 6.4 yang sedang dikembangkan dia mendapati dirinya melakukan sedikit pengkodean.

Seperti disebutkan minggu lalu, dia secara pribadi membersihkan kode salinan memori x86 untuk Linux 6.4. Minggu ini dia menggabungkan lebih banyak kodenya sendiri karena dia mengambil masalah dengan beberapa kode yang digabungkan oleh para insinyur Intel sebagai bagian dari pengaktifan Linear Address Masking mereka.

Kembali selama Linux 6.2 hari pada akhir tahun lalu, Linus menolak kode Intel LAM pada saat itu karena berbagai masalah teknis. Intel kemudian mengerjakan ulang untuk Linux 6.4.


Kali ini Linus menggabungkan Intel LAM ke Linux 6.4 sebagai fitur CPU baru ini untuk membiarkan ruang pengguna menyimpan metadata dalam beberapa bit pointer tanpa menutupinya sebelum digunakan. Intel LAM-seperti Arm TBI-dapat digunakan untuk mesin virtual, pembuatan profil/pembersih/penandaan, dan aplikasi lainnya. Tapi kali ini ada beberapa kode yang kurang ideal yang secara pribadi dia ambil untuk dirapikan.

Linus menulis dalam penggabungan pada hari Jumat:

Gabungkan cabang pembaruan uaccess x86 saya.

Pembaruan LAM (“Linear Address Masking”) dalam rilis ini membuat saya tidak senang dengan cara”access_ok()”dilakukan, dan ternyata ada beberapa bug kecil di dalamnya juga. Ini adalah pembersihan kode saya:

-gunakan bit tanda dari pointer __user daripada menutupi alamat dan memeriksanya dengan rentang TASK_SIZE.

Kita sudah melakukan bagian ini untuk sisi get/put_user(), tetapi’access_ok()’melakukan hal naif”mask and range check”, yang tidak hanya menghasilkan kode jahat, tetapi juga berakhir dengan makna bahwa __access_ok sendiri tidak melakukan pekerjaan dengan baik, sehingga copy_from_user_nmi() tidak melakukan pemeriksaan dengan benar.

-pindahkan semua kode yang hanya 64-bit ke file header versi 64-bit, sehingga kita tidak perlu mengotori kode x86 bersama dan membuatnya terlihat seperti LAM dapat berfungsi di 32-bit juga.

-memperbaiki bug dalam penyembunyian alamat (itu tidak menjadi masalah: dalam hal ini perbaikannya adalah menghapus kode buggy seluruhnya).

-beberapa pembersihan sepele dan menambahkan komentar tentang aturan access_ok().

Jadi Intel LAM tetap siap menggunakan Linux 6.4 dan Torvalds mengerjakan ulang sekitar seratus baris kode untuk membersihkannya.
Sekarang ruang pengguna Linux bersiap untuk menggunakan Intel LAM.

Categories: IT Info