Linux Kernel 5.5 最終刪除 SYSCTL 系統調用

Linux Kernel 5.5 最終消除了支持 sysctl 系統調用的代碼,該代碼已被棄用了大約十年,目前對任何體系結構的現代系統都沒有影響。長期以來,Linux sysctl 系統調用都不建議被使用,也不建議將其與通過 /proc/sys 公開的 sysctl 接口一起使用,這是讀取/設置內核系統屬性的首選方法。

Linux Kernel 5.5 的更改並未涉及 /proc/sys 支持,而只是將要把多年以來一直未使用的 Linux 上帶有 sysctl 二進制接口的系統調用刪除。

Linux Kernel 5.5 最終刪除 SYSCTL 系統調用

Linux 內核團隊在郵件中表示,據瞭解,應該已經沒有人啟用 sysctl 系統調用了,不排除仍然有人在少數 defconfigs 中啟用它,不過這種情形也非常少見。如果有任何用戶想要這個系統調用,他們可能需要還原補丁。

其實早在 2011 年,他們就想刪除代碼,但因需要保持兼容性,無法完全刪除。那時,剩下的代碼是為了與舊的 C 庫兼容,但是現在構建 Linux 5.5 的任何人都不想運行超級老式的 libc。

Eric W. Biederman 寫了刪除了該系統調用的補丁,他提到此前 “linux-next 中有一個新的 xtensa defconfig,它使系統可以調用此循環,但代碼維護者回答說並非有意啟用的。” 從今天的 linux-next 樹開始,defconfig 不再啟用系統調用。


分享到:


相關文章: