Announcement

Collapse
No announcement yet.

Linux 5.5 Finally Doing Away With The SYSCTL System Call

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • F.Ultra
    replied
    Originally posted by coder View Post
    I'll just ask the obvious question: why prefer /proc/sys/ over sysctl()?

    Is the issue just that one is implemented in terms of the other, and they want to remove the glue code? I guess the function call requires one or more enums that essentially encode the nodes in the /proc/sys/ path string, and folks don't want to maintain both those enums and the actual path strings?

    https://linux.die.net/man/2/sysctl
    Looking at the original announcement from 2010 Eric Biederman states these reasons:

    *Binary sysctls are a long standing source of subtle kernel bugs and security issues.

    *The man page for sysctl(2) documents it as unusable for user space programs.

    *sysctl(2) is not generally ABI compatible to a 32bit user space application on a 64bit and a 32bit kernel.

    Leave a comment:


  • drjohnnyfever
    replied
    I find it interesting that Linux and FreeBSD went in opposite directions on this. FreeBSD deprecated the procfs interface (which as far as I know is implemented with sysctl(2) on FreeBSD) and Linux deprecated sysctl in favor of procfs.

    Leave a comment:


  • xen0n
    replied
    Originally posted by gsedej View Post
    Is "sysctl" conneted via REISUB commands - it's still very useful for me with buggy graphic drivers/compositors/etc ?
    Also does "sysctl" enable some reading/writing from motherboard ?
    What you're referring to is "magic SysRq", which is a totally different beast and is not affected at all.

    Leave a comment:


  • gsedej
    replied
    Is "sysctl" conneted via REISUB commands - it's still very useful for me with buggy graphic drivers/compositors/etc ?
    Also does "sysctl" enable some reading/writing from motherboard ?

    Leave a comment:


  • coder
    replied
    I'll just ask the obvious question: why prefer /proc/sys/ over sysctl()?

    Is the issue just that one is implemented in terms of the other, and they want to remove the glue code? I guess the function call requires one or more enums that essentially encode the nodes in the /proc/sys/ path string, and folks don't want to maintain both those enums and the actual path strings?

    The _sysctl() call reads and/or writes kernel parameters. For example, the hostname, or the maximum number of open files. The argument has the form

    Leave a comment:


  • phoronix
    started a topic Linux 5.5 Finally Doing Away With The SYSCTL System Call

    Linux 5.5 Finally Doing Away With The SYSCTL System Call

    Phoronix: 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...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite
Working...
X