On Wed, Feb 17, 2016 at 11:35 AM, Andrew Morton <a...@linux-foundation.org> wrote: > On Tue, 16 Feb 2016 17:06:31 -0800 John Stultz <john.stu...@linaro.org> wrote: > >> This patch provides a proc/PID/timerslack_ns interface which >> exposes a task's timerslack value in nanoseconds and allows it >> to be changed. >> >> This allows power/performance management software to set timer >> slack for other threads according to its policy for the thread >> (such as when the thread is designated foreground vs. background >> activity) >> >> If the value written is non-zero, slack is set to that value. >> Otherwise sets it to the default for the thread. >> >> This interface checks that the calling task has permissions to >> to use PTRACE_MODE_ATTACH_FSCREDS on the target task, so that we >> can ensure arbitrary apps do not change the timer slack for other >> apps. > > hm. What the heck is PTRACE_MODE_ATTACH_FSCREDS and why was it chosen?
Somewhat out of necessity. I found due to recent changes (sha1: caaee6234d0) to __ptrace_may_access() one must use FSCREDS or REALCREDS. So PTRACE_MODE_ATTACH on its own won't work. ("What the heck" was what I thought too when I noticed my test wasn't working :) Since we're accessing this via a filesystem interface, I picked FSCREDS. But if I chose wrong here, please let me know. >> + err = kstrtoull(strstrip(buffer), 10, &slack_ns); >> + if (err < 0) >> + return err; > > Use kstrtoull_from_user()? Ok. I'll rework it to use this. thanks! -john