From: Alexey Budankov <alexey.budankov@linux•intel.com>
To: Peter Zijlstra <peterz@infradead•org>
Cc: Mark Rutland <mark.rutland@arm•com>,
Song Liu <songliubraving@fb•com>,
Alexander Shishkin <alexander.shishkin@linux•intel.com>,
Benjamin Herrenschmidt <benh@kernel•crashing.org>,
"joonas.lahtinen@linux•intel.com"
<joonas.lahtinen@linux•intel.com>,
Will Deacon <will.deacon@arm•com>,
Alexei Starovoitov <ast@kernel•org>,
Stephane Eranian <eranian@google•com>,
"james.bottomley@hansenpartnership•com"
<james.bottomley@hansenpartnership•com>,
Paul Mackerras <paulus@samba•org>, Jiri Olsa <jolsa@redhat•com>,
Andi Kleen <ak@linux•intel.com>,
Michael Ellerman <mpe@ellerman•id.au>,
Igor Lubashev <ilubashe@akamai•com>,
James Morris <jmorris@namei•org>, Ingo Molnar <mingo@redhat•com>,
oprofile-list@lists•sf.net, Serge Hallyn <serge@hallyn•com>,
Robert Richter <rric@kernel•org>,
Kees Cook <keescook@chromium•org>, Jann Horn <jannh@google•com>,
"selinux@vger•kernel.org" <selinux@vger•kernel.org>,
"intel-gfx@lists•freedesktop.org"
<intel-gfx@lists•freedesktop.org>,
"jani.nikula@linux•intel.com" <jani.nikula@linux•intel.com>,
Arnaldo Carvalho de Melo <acme@kernel•org>,
"rodrigo.vivi@intel•com" <rodrigo.vivi@intel•com>,
Namhyung Kim <namhyung@kernel•org>,
Thomas Gleixner <tglx@linutronix•de>,
linux-arm-kernel@lists•infradead.org,
Tvrtko Ursulin <tvrtko.ursulin@linux•intel.com>,
"linux-parisc@vger•kernel.org" <linux-parisc@vger•kernel.org>,
linux-kernel <linux-kernel@vger•kernel.org>,
Lionel Landwerlin <lionel.g.landwerlin@intel•com>,
"linux-perf-users@vger•kernel.org"
<linux-perf-users@vger•kernel.org>,
"linux-security-module@vger•kernel.org"
<linux-security-module@vger•kernel.org>,
mhiramat@kernel•org, Casey Schaufler <casey@schaufler-ca•com>,
"bpf@vger•kernel.org" <bpf@vger•kernel.org>,
"linuxppc-dev@lists•ozlabs.org" <linuxppc-dev@lists•ozlabs.org>
Subject: Re: [PATCH v4 2/9] perf/core: open access for CAP_SYS_PERFMON privileged process
Date: Fri, 10 Jan 2020 20:34:33 +0300 [thread overview]
Message-ID: <603c4d4f-9021-a8bc-1be6-3654d5c557d4@linux.intel.com> (raw)
In-Reply-To: <20200110140234.GO2844@hirez.programming.kicks-ass.net>
On 10.01.2020 17:02, Peter Zijlstra wrote:
> On Thu, Jan 09, 2020 at 02:36:50PM +0300, Alexey Budankov wrote:
>> On 08.01.2020 19:07, Peter Zijlstra wrote:
>>> On Wed, Dec 18, 2019 at 12:25:35PM +0300, Alexey Budankov wrote:
>
>>>> diff --git a/kernel/events/core.c b/kernel/events/core.c
>>>> index 059ee7116008..d9db414f2197 100644
>>>> --- a/kernel/events/core.c
>>>> +++ b/kernel/events/core.c
>>>> @@ -9056,7 +9056,7 @@ static int perf_kprobe_event_init(struct perf_event *event)
>>>> if (event->attr.type != perf_kprobe.type)
>>>> return -ENOENT;
>>>>
>>>> - if (!capable(CAP_SYS_ADMIN))
>>>> + if (!perfmon_capable())
>>>> return -EACCES;
>>>>
>>>> /*
>>>
>>> This one only allows attaching to already extant kprobes, right? It does
>>> not allow creation of kprobes.
>>
>> This unblocks creation of local trace kprobes and uprobes by CAP_SYS_PERFMON
>> privileged process, exactly the same as for CAP_SYS_ADMIN privileged process.
>
> I've no idea what you just said; it's just words.
>
> Again, this only allows attaching to previously created kprobes, it does
> not allow creating kprobes, right?
Not really, this allows creating a kprobe using perf_event_open syscall that
associates file descriptor with the kprobe [1].
Lifetime of that kprobe is equal to the lifetime of the file descriptor and
the kprobe is not visible in tracefs: /sys/kernel/debug/tracing/kprobe_events
>
> That is; I don't think CAP_SYS_PERFMON should be allowed to create
> kprobes.
>
> As might be clear; I don't actually know what the user-ABI is for
> creating kprobes.
>
~Alexey
[1] https://lore.kernel.org/lkml/20171206224518.3598254-1-songliubraving@fb.com/
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists•infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-01-10 17:34 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-18 9:16 [PATCH v4 0/7] Introduce CAP_SYS_PERFMON to secure system performance monitoring and observability Alexey Budankov
2019-12-18 9:24 ` [PATCH v4 1/9] capabilities: introduce CAP_SYS_PERFMON to kernel and user space Alexey Budankov
2019-12-18 19:56 ` Stephen Smalley
2019-12-28 3:53 ` Serge E. Hallyn
2020-01-13 20:25 ` Song Liu
2019-12-18 9:25 ` [PATCH v4 2/9] perf/core: open access for CAP_SYS_PERFMON privileged process Alexey Budankov
2020-01-08 16:07 ` Peter Zijlstra
2020-01-09 11:36 ` Alexey Budankov
2020-01-10 14:02 ` Peter Zijlstra
2020-01-10 15:52 ` Masami Hiramatsu
2020-01-10 16:45 ` Arnaldo Carvalho de Melo
2020-01-10 23:47 ` Masami Hiramatsu
2020-01-11 0:23 ` Song Liu
2020-01-10 16:41 ` Alexey Budankov
2020-01-10 17:34 ` Alexey Budankov [this message]
2019-12-18 9:26 ` [PATCH v4 3/9] perf tool: extend Perf tool with CAP_SYS_PERFMON capability support Alexey Budankov
2019-12-18 9:27 ` [PATCH v4 4/9] drm/i915/perf: open access for CAP_SYS_PERFMON privileged process Alexey Budankov
2019-12-19 9:10 ` Lionel Landwerlin
2019-12-18 9:28 ` [PATCH v4 5/9] trace/bpf_trace: " Alexey Budankov
2020-01-13 20:47 ` Song Liu
2019-12-18 9:28 ` [PATCH v4 6/9] powerpc/perf: " Alexey Budankov
2019-12-18 9:29 ` [PATCH v4 7/9] parisc/perf: " Alexey Budankov
2020-01-27 8:52 ` Helge Deller
2019-12-18 9:30 ` [PATCH v4 8/9] drivers/perf: " Alexey Budankov
2020-01-17 10:51 ` Will Deacon
2020-01-17 21:33 ` Alexey Budankov
2020-01-18 18:48 ` Alexey Budankov
2019-12-18 9:31 ` [PATCH v4 9/9] drivers/oprofile: " Alexey Budankov
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=603c4d4f-9021-a8bc-1be6-3654d5c557d4@linux.intel.com \
--to=alexey.budankov@linux$(echo .)intel.com \
--cc=acme@kernel$(echo .)org \
--cc=ak@linux$(echo .)intel.com \
--cc=alexander.shishkin@linux$(echo .)intel.com \
--cc=ast@kernel$(echo .)org \
--cc=benh@kernel$(echo .)crashing.org \
--cc=bpf@vger$(echo .)kernel.org \
--cc=casey@schaufler-ca$(echo .)com \
--cc=eranian@google$(echo .)com \
--cc=ilubashe@akamai$(echo .)com \
--cc=intel-gfx@lists$(echo .)freedesktop.org \
--cc=james.bottomley@hansenpartnership$(echo .)com \
--cc=jani.nikula@linux$(echo .)intel.com \
--cc=jannh@google$(echo .)com \
--cc=jmorris@namei$(echo .)org \
--cc=jolsa@redhat$(echo .)com \
--cc=joonas.lahtinen@linux$(echo .)intel.com \
--cc=keescook@chromium$(echo .)org \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-parisc@vger$(echo .)kernel.org \
--cc=linux-perf-users@vger$(echo .)kernel.org \
--cc=linux-security-module@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=lionel.g.landwerlin@intel$(echo .)com \
--cc=mark.rutland@arm$(echo .)com \
--cc=mhiramat@kernel$(echo .)org \
--cc=mingo@redhat$(echo .)com \
--cc=mpe@ellerman$(echo .)id.au \
--cc=namhyung@kernel$(echo .)org \
--cc=oprofile-list@lists$(echo .)sf.net \
--cc=paulus@samba$(echo .)org \
--cc=peterz@infradead$(echo .)org \
--cc=rodrigo.vivi@intel$(echo .)com \
--cc=rric@kernel$(echo .)org \
--cc=selinux@vger$(echo .)kernel.org \
--cc=serge@hallyn$(echo .)com \
--cc=songliubraving@fb$(echo .)com \
--cc=tglx@linutronix$(echo .)de \
--cc=tvrtko.ursulin@linux$(echo .)intel.com \
--cc=will.deacon@arm$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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