On Wed, Oct 4, 2017 at 10:08 AM, Linus Torvalds <torva...@linux-foundation.org> wrote: > > So I honestly doubt the value of kptr_restrict. Any *sane* policy > pretty much has to be in the caller, and by thinking about what you > print out. IOW, things like proc_pid_wchan().
Looking at /proc/kallsyms is actually a prime example of this. IOW, the old "open /proc/kallsyms as a normal user, then make it stdin for some suid-root program that can be fooled to output it probably works on it. So kptr_restrict ends up being entirely the wrong thing to do there. The only value in kptr_restrict ends up being as a complete hack, where you say "I trust nobody" and make %p almost entirely useless. And as mentioned, that will just make people use %x instead, or randomly sprinkle the new "I didn't really mean this" modifiers like the already discussed pr_debug() case. So even when kptr_restrict "works", it ends up just fighting itself. And most of the time it just doesn't work. Linus