Linux Kernel 5.5 最终删除 SYSCTL 系统调用

Linux Kernel 5.5 最终消除了支持 sysctl 系统调用的代码,该代码已被弃用了大约十年,目前对任何体系结构的现代系统都没有影响。

长期以来,Linux sysctl 系统调用都不建议被使用,也不建议将其与通过 /proc/sys 公开的 sysctl 接口一起使用,这是读取/设置内核系统属性的首选方法。 Linux Kernel 5.5 的更改并未涉及 /proc/sys 支持,而只是将要把多年以来一直未使用的 Linux 上带有 sysctl 二进制接口的系统调用删除。

Linux 内核团队在邮件中表示,据了解,应该已经没有人启用 sysctl 系统调用了,不排除仍然有人在少数 defconfigs 中启用它,不过这种情形也非常少见。如果有任何用户想要这个系统调用,他们可能需要还原补丁。

其实早在 2011 年,他们就想删除代码,但因需要保持兼容性,无法完全删除。那时,剩下的代码是为了与旧的 C 库兼容,但是现在构建 Linux 5.5 的任何人都不想运行超级老式的 libc。

Eric W. Biederman 写了删除了该系统调用的补丁,他提到此前 “linux-next 中有一个新的 xtensa defconfig,它使系统可以调用此循环,但代码维护者回答说并非有意启用的。” 从今天的 linux-next 树开始,defconfig 不再启用系统调用。

消息来源:phoronix

关于Topideas | 战略合作 | 内容合作 | 渠道合作 | 版权商标 | 隐私声明 | 工作机会 | 联系我们

Copyright © 2012 Topideas 版权所有

湖北 - sbf657 | 各个商标由其各自所有者持有 鄂ICP备13005502

咨询(客服) 咨询(客服)

欢迎给我们留言