Em Sun, Aug 20, 2017 at 02:39:20PM +0300, Konstantin Khlebnikov escreveu:
> Fix misprint CAP_IOC_LOCK -> CAP_IPC_LOCK. This capability have nothing
> to do with raw tracepoints. This part is about bypassing mlock limits.
> 
> Sysctl kernel.perf_event_paranoid = -1 allows raw and ftrace function
> tracepoints without CAP_SYS_ADMIN.

Thanks, looks sane, applied.

- Arnaldo
 
> Signed-off-by: Konstantin Khlebnikov <[email protected]>
> ---
>  Documentation/sysctl/kernel.txt |   13 ++++++++++++-
>  tools/perf/util/evsel.c         |    4 +++-
>  2 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
> index bac23c198360..ce61d1fe08ca 100644
> --- a/Documentation/sysctl/kernel.txt
> +++ b/Documentation/sysctl/kernel.txt
> @@ -61,6 +61,7 @@ show up in /proc/sys/kernel:
>  - perf_cpu_time_max_percent
>  - perf_event_paranoid
>  - perf_event_max_stack
> +- perf_event_mlock_kb
>  - perf_event_max_contexts_per_stack
>  - pid_max
>  - powersave-nap               [ PPC only ]
> @@ -654,7 +655,9 @@ Controls use of the performance events system by 
> unprivileged
>  users (without CAP_SYS_ADMIN).  The default value is 2.
>  
>   -1: Allow use of (almost) all events by all users
> ->=0: Disallow raw tracepoint access by users without CAP_IOC_LOCK
> +     Ignore mlock limit after perf_event_mlock_kb without CAP_IPC_LOCK
> +>=0: Disallow ftrace function tracepoint by users without CAP_SYS_ADMIN
> +     Disallow raw tracepoint access by users without CAP_SYS_ADMIN
>  >=1: Disallow CPU event access by users without CAP_SYS_ADMIN
>  >=2: Disallow kernel profiling by users without CAP_SYS_ADMIN
>  
> @@ -673,6 +676,14 @@ The default value is 127.
>  
>  ==============================================================
>  
> +perf_event_mlock_kb:
> +
> +Control size of per-cpu ring buffer not counted agains mlock limit.
> +
> +The default value is 512 + 1 page
> +
> +==============================================================
> +
>  perf_event_max_contexts_per_stack:
>  
>  Controls maximum number of stack frame context entries for
> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> index 413f74df08de..5ed7056d1fd0 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -2535,7 +2535,9 @@ int perf_evsel__open_strerror(struct perf_evsel *evsel, 
> struct target *target,
>                "unprivileged users (without CAP_SYS_ADMIN).\n\n"
>                "The current value is %d:\n\n"
>                "  -1: Allow use of (almost) all events by all users\n"
> -              ">= 0: Disallow raw tracepoint access by users without 
> CAP_IOC_LOCK\n"
> +              "      Ignore mlock limit after perf_event_mlock_kb without 
> CAP_IPC_LOCK\n"
> +              ">= 0: Disallow ftrace function tracepoint by users without 
> CAP_SYS_ADMIN\n"
> +              "      Disallow raw tracepoint access by users without 
> CAP_SYS_ADMIN\n"
>                ">= 1: Disallow CPU event access by users without 
> CAP_SYS_ADMIN\n"
>                ">= 2: Disallow kernel profiling by users without 
> CAP_SYS_ADMIN\n\n"
>                "To make this setting permanent, edit /etc/sysctl.conf too, 
> e.g.:\n\n"

Reply via email to