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不再启用系统调用。
特别提醒:本网内容转载自其他媒体,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。