Re: [PATCH 3/3] X86: Add a thread cpu time implementation to vDSO

Chris Mason
2014-12-15T18:37:13Z

On Thu, Dec 11, 2014 at 1:36 AM, Ingo Molnar <mingo@kernel.org> wrote:
>
> * Andy Lutomirski <luto@amacapital.net> wrote:
>
>> On Wed, Dec 10, 2014 at 2:56 PM, Shaohua Li <shli@fb.com> wrote:
>> > On Wed, Dec 10, 2014 at 02:13:23PM -0800, Andy Lutomirski wrote:
>> >> On Wed, Dec 10, 2014 at 1:57 PM, Shaohua Li <shli@fb.com> wrote:
>> >> > On Wed, Dec 10, 2014 at 11:10:52AM -0800, Andy Lutomirski
>> wrote:
>> >> >> On Sun, Dec 7, 2014 at 7:03 PM, Shaohua Li <shli@fb.com>
>> wrote:
>> >> >> > This primarily speeds up
>> clock_gettime(CLOCK_THREAD_CPUTIME_ID, ..). We
>> >> >> > use the following method to compute the thread cpu time:
>> >> >>
>> >> >> I like the idea, and I like making this type of profiling
>> fast. I
>> >> >> don't love the implementation because it's an information
>> leak (maybe
>> >> >> we don't care) and it's ugly.
>> >> >>
>> >> >> The info leak could be fixed completely by having a
>> per-process array
>> >> >> instead of a global array. That's currently tricky without
>> wasting
>> >> >> memory, but it could be created on demand if we wanted to do
>> that,
>> >> >> once my vvar .fault patches go in (assuming they do -- I need
>> to ping
>> >> >> the linux-mm people).
>> >> >
>> >> > those info leak really doesn't matter.
>> >>
>> >> Why not?
>> >
>> > Ofcourse I can't make sure completely, but how could this
>> > info be used as attack?
>>
>> It may leak interesting timing info, even from cpus that are
>> outside your affinity mask / cpuset. I don't know how much
>> anyone actually cares.
>
> Finegraned timing information has been successfully used to
> recover secret keys (and sometimes even coarse timing
> information), so it can be a security issue in certain setups.

Trying to nail this down a little more clearly. Are you worried about
the context switch count being exported or the clock_gettime data?

-chris