长期以来, Linux sysctl 系统调用都不建议被使用, 也不建议将其与通过 / proc/sys 公开的 sysctl 接口一起使用, 这是读取 / 设置内核系统属性的首选方法. Linux Kernel 5.5 的更改并未涉及 / proc/sys 支持, 而只是将要把多年以来一直未使用的 Linux 上带有 sysctl 二进制接口的系统调用删除.
Linux 内核团队在邮件中表示, 据了解, 应该已经没有人启用 sysctl 系统调用了, 不排除仍然有人在少数 defconfigs 中启用它, 不过这种情形也非常少见. 如果有任何用户想要这个系统调用, 他们可能需要还原补丁.
Linux Kernel 5.5 最终删除 SYSCTL 系统调用 Linux Kernel 5.5 最终删除 SYSCTL 系统调用
其实早在 2011 年, 他们就想删除代码, 但因需要保持兼容性, 无法完全删除. 那时, 剩下的代码是为了与旧的 C 库兼容, 但是现在构建 Linux 5.5 的任何人都不想运行超级老式的 libc.
Eric W. Biederman 写了删除了该系统调用的补丁, 他提到此前 "linux-next 中有一个新的 xtensa defconfig, 它使系统可以调用此循环, 但代码维护者回答说并非有意启用的." 从今天的 Linux-next 树开始, defconfig 不再启用系统调用.+
更多 Linux 咨询请查看 www.linuxprobe.com
来源: http://www.bubuko.com/infodetail-3336861.html