linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kyle Huey <me@kylehuey.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Vince Weaver <vincent.weaver@maine.edu>,
	"Jin, Yao" <yao.jin@linux.intel.com>,
	Ingo Molnar <mingo@kernel.org>,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	stable@vger.kernel.org,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Jiri Olsa <jolsa@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Stephane Eranian <eranian@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	acme@kernel.org, jolsa@kernel.org, kan.liang@intel.com,
	Will Deacon <will.deacon@arm.com>,
	gregkh@linuxfoundation.org,
	"Robert O'Callahan" <robert@ocallahan.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] perf/core: generate overflow signal when samples are dropped (WAS: Re: [REGRESSION] perf/core: PMU interrupts dropped if we entered the kernel in the "skid" region)
Date: Wed, 28 Jun 2017 15:55:07 -0700	[thread overview]
Message-ID: <CAP045Apcdk6wHU9yt3m5x6L_GUoOqnU2DzKeSQj5nHRGQuNuRQ@mail.gmail.com> (raw)
In-Reply-To: <20170628174900.GG8252@leverpostej>

On Wed, Jun 28, 2017 at 10:49 AM, Mark Rutland <mark.rutland@arm.com> wrote:
> On Wed, Jun 28, 2017 at 09:48:27AM -0700, Kyle Huey wrote:
>> On Wed, Jun 28, 2017 at 3:56 AM, Mark Rutland <mark.rutland@arm.com> wrote:
>> > @@ -6101,6 +6116,12 @@ void perf_prepare_sample(struct perf_event_header *header,
>> >         struct perf_output_handle handle;
>> >         struct perf_event_header header;
>> >
>> > +       /*
>> > +        * For security, drop the skid kernel samples if necessary.
>> > +        */
>> > +       if (!sample_is_allowed(event, regs))
>> > +               return ret;
>>
>> Just a bare return here.
>
> Ugh, yes. Sorry about that. I'll fix that up.
>
> [...]
>
>> I can confirm that with that fixed to compile, this patch fixes rr.
>
> Thanks for giving this a go.
>
> Having thought about this some more, I think Vince does make a good
> point that throwing away samples is liable to break stuff, e.g. that
> which only relies on (non-sensitive) samples.
>
> It still seems wrong to make up data, though.
>
> Maybe for exclude_kernel && !exclude_user events we can always generate
> samples from the user regs, rather than the exception regs. That's going
> to be closer to what the user wants, regardless. I'll take a look
> tomorrow.

I'm not very familiar with the kernel internals, but the reason I
didn't suggest this originally is it seems like it will be difficult
to determine what the "correct" userspace registers are.  For example,
what happens if a performance counter is fixed to a given tid, the
interrupt fires during a context switch from that task to another that
is not being monitored, and the kernel is far enough along in the
context switch that the current task struct has been switched out?
Reporting the new task's registers seems as bad as reporting the
kernel's registers.  But maybe this is easier than I imagine for
whatever reason.

Something to think about.

- Kyle

  reply	other threads:[~2017-06-28 22:55 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAP045Ap8cMx6mzSgcQ3n3bnh_8GJuCp7_KZe_5ZTCR_K6cPTLw@mail.gmail.com>
2017-06-28  1:01 ` [REGRESSION] perf/core: PMU interrupts dropped if we entered the kernel in the "skid" region Kyle Huey
2017-06-28  2:09   ` Jin, Yao
2017-06-28  4:51     ` Kyle Huey
2017-06-28  5:35       ` Jin, Yao
2017-06-28  7:30         ` Kyle Huey
2017-06-28 10:12       ` Mark Rutland
2017-06-28 10:56         ` [PATCH] perf/core: generate overflow signal when samples are dropped (WAS: Re: [REGRESSION] perf/core: PMU interrupts dropped if we entered the kernel in the "skid" region) Mark Rutland
2017-06-28 12:40           ` Vince Weaver
2017-06-28 13:07             ` Mark Rutland
2017-06-29  8:13               ` Alexey Budankov
2017-06-29  8:25                 ` Alexey Budankov
2017-06-28 16:48           ` Kyle Huey
2017-06-28 17:49             ` Mark Rutland
2017-06-28 22:55               ` Kyle Huey [this message]
2017-06-29  0:27                 ` Jin, Yao
2017-06-30 17:44                 ` Kyle Huey
2017-07-04  9:03                 ` Peter Zijlstra
2017-07-04  9:33                   ` Mark Rutland
2017-07-04  9:46                     ` Peter Zijlstra
2017-07-04 10:21                     ` Mark Rutland
2017-07-06  5:07                       ` Robert O'Callahan
2017-07-11  2:03                         ` Kyle Huey
2017-07-11  9:03                           ` Ingo Molnar
2017-07-11 13:07                             ` Jin, Yao
2017-07-12  7:57                               ` Ingo Molnar
2017-07-11 14:26                             ` Mark Rutland
2017-07-11 15:32                             ` Kyle Huey
2017-07-18  0:07                               ` Kyle Huey
2017-06-29  8:12               ` Ingo Molnar
2017-07-04  9:06                 ` Peter Zijlstra
2017-07-04 10:04                   ` Ingo Molnar
2017-07-11  9:03           ` [tip:perf/urgent] Revert "perf/core: Drop kernel samples even though :u is specified" tip-bot for Ingo Molnar
2017-06-28 16:46         ` [REGRESSION] perf/core: PMU interrupts dropped if we entered the kernel in the "skid" region Kyle Huey
2017-06-28 17:19           ` Mark Rutland
2017-06-28 17:36             ` Kyle Huey
2017-06-28 17:52               ` Mark Rutland
2017-06-28 17:48             ` Robert O'Callahan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAP045Apcdk6wHU9yt3m5x6L_GUoOqnU2DzKeSQj5nHRGQuNuRQ@mail.gmail.com \
    --to=me@kylehuey.com \
    --cc=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=eranian@google.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=kan.liang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=robert@ocallahan.org \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=vincent.weaver@maine.edu \
    --cc=will.deacon@arm.com \
    --cc=yao.jin@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).