Linux 5.5 Finally Doing Away With The SYSCTL System Call
The Linux 5.5 kernel is set to finally eliminate the code backing the sysctl system call, which has been deprecated for about a decade and should have no impact on modern systems of any architecture.
The Linux sysctl system call has long been deprecated and not advised for use with the sysctl interface being exposed via /proc/sys being the preferred means of reading/setting kernel system attributes. The change for Linux 5.5 isn't touching the /proc/sys support but is just about finally removing the system call with the binary interface to sysctl on Linux having been unused now for years -- well, the hope is there are no users left but they admit to possibly needing to reverting the patch should any real users come forward of this system call.
Even back in 2011 they wanted to delete the code but in that case made SYSCTL_SYSCALL default to no. At that point the code was left in for compatibility with old C libraries but now anyone building Linux 5.5 hopefully isn't running a super vintage libc.
Eric Biederman wrote with the patch removing this syscall, "As far as I can tell we have reached the point where no one enables the sysctl system call anymore. It still is enabled in a few defconfigs but they are mostly the rarely used one and in asking people about that it was more cut & paste enabled than anything else...If my analysis turns out to be wrong and someone actually cares it will be easy to revert this commit and have the system call again."
Farewell SYSCTL_SYSCALL!
The Linux sysctl system call has long been deprecated and not advised for use with the sysctl interface being exposed via /proc/sys being the preferred means of reading/setting kernel system attributes. The change for Linux 5.5 isn't touching the /proc/sys support but is just about finally removing the system call with the binary interface to sysctl on Linux having been unused now for years -- well, the hope is there are no users left but they admit to possibly needing to reverting the patch should any real users come forward of this system call.
Even back in 2011 they wanted to delete the code but in that case made SYSCTL_SYSCALL default to no. At that point the code was left in for compatibility with old C libraries but now anyone building Linux 5.5 hopefully isn't running a super vintage libc.
Eric Biederman wrote with the patch removing this syscall, "As far as I can tell we have reached the point where no one enables the sysctl system call anymore. It still is enabled in a few defconfigs but they are mostly the rarely used one and in asking people about that it was more cut & paste enabled than anything else...If my analysis turns out to be wrong and someone actually cares it will be easy to revert this commit and have the system call again."
Farewell SYSCTL_SYSCALL!
16 Comments