Is there a way to set kptr_restrict to 0?

前端 未结 2 503
盖世英雄少女心
盖世英雄少女心 2021-02-05 12:17

I am currently having trouble running linux perf, mostly because /proc/sys/kernel/kptr_restrict is currently set to 1.

However, if I try to /proc/sys/

相关标签:
2条回答
  • 2021-02-05 12:38

    All the files located in /proc/sys can only be modified by root (actually 99.9% files, check with ls -l). Therefore you have to use sudo to modify those files (or your preferred way to execute commands as root).

    The proper way to modify the files in /proc/sys is to use the sysctl tool. Note that yu should replace the slashes (/) with dots (.) and omit the /proc/sys/ prefix... read the fine manual.

    Read the current value:

    $ sysctl kernel.kptr_restrict 
    kernel.kptr_restrict = 1
    

    Modify the value:

    $ sudo sysctl -w kernel.kptr_restrict=0
    sysctl kernel.kptr_restrict=1
    

    To make your modifications reboot persistent, you should edit /etc/sysctl.conf or create a file in /etc/sysctl.d/50-mytest.conf (edit the file as root or using sudoedit), containing:

    kernel.kptr_restrict=1
    

    In which case you should execute this command to reload your configuration:

    $ sysctl -p /etc/sysctl.conf
    

    P.S. it is possible to directly write in the virtual file. https://stackoverflow.com/users/321730/cdyson37 command is quite elegant: echo 0 | sudo tee /proc/sys/kernel/kptr_restrict

    0 讨论(0)
  • 2021-02-05 12:44

    In your example, echo is running as root, but your shell is running as you.

    So please try this command:

    sudo sh -c " echo 0 > /proc/sys/kernel/kptr_restrict"
    
    0 讨论(0)
提交回复
热议问题