[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALAqxLVk8YvtsKOeN7u_jGTmQO0i1PVKE2kd4k7zmmFstj5dJA@mail.gmail.com>
Date: Wed, 17 Feb 2016 12:49:01 -0800
From: John Stultz <john.stultz@...aro.org>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Arjan van de Ven <arjan@...ux.intel.com>,
lkml <linux-kernel@...r.kernel.org>,
Oren Laadan <orenl@...lrox.com>,
Ruchi Kandoi <kandoiruchi@...gle.com>,
Rom Lemarchand <romlem@...roid.com>,
Kees Cook <keescook@...omium.org>,
Android Kernel Team <kernel-team@...roid.com>
Subject: Re: [PATCH 2/2] proc: Add /proc/<pid>/timerslack_ns interface
On Wed, Feb 17, 2016 at 11:35 AM, Andrew Morton
<akpm@...ux-foundation.org> wrote:
> On Tue, 16 Feb 2016 17:06:31 -0800 John Stultz <john.stultz@...aro.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
Powered by blists - more mailing lists