lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1262839723.6303.5.camel@marge.simson.net>
Date:	Thu, 07 Jan 2010 05:48:43 +0100
From:	Mike Galbraith <efault@....de>
To:	Miles Bader <miles@....org>
Cc:	Arnaldo Carvalho de Melo <acme@...radead.org>,
	linux-kernel@...r.kernel.org,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: tools/perf: "perf record" restricted to root in latest kernel?

On Thu, 2010-01-07 at 11:49 +0900, Miles Bader wrote:

> Perhaps the newer version of perf works better with newer kernels

Yup.  Bisects back to 60ab271617cec607380099f3ed8e84916e48323b.  If
running latest kernel, normal user can record fine.  Running 31 or 32
kernel with latest perf though, I see the same permission error.  Not
immediately obvious to me why reverting this commit does indeed fix it. 

commit 60ab271617cec607380099f3ed8e84916e48323b
Author: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Date:   Wed Dec 16 17:55:56 2009 +0100

    perf record: Use per-task-per-cpu events for inherited events
    
    Create events with a pid and cpu contraint for inherited events
    so that we get a stream per cpu, instead of all cpus contending
    on a single stream.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
    Cc: Arnaldo Carvalho de Melo <acme@...hat.com>
    Cc: fweisbec@...il.com
    Cc: Paul Mackerras <paulus@...ba.org>
    LKML-Reference: <20091216165904.987643843@...llo.nl>
    Signed-off-by: Ingo Molnar <mingo@...e.hu>

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 9b7c6d8..63136d0 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -278,7 +278,7 @@ static void create_counter(int counter, int cpu, pid_t pid)
 
 	attr->mmap		= track;
 	attr->comm		= track;
-	attr->inherit		= (cpu < 0) && inherit;
+	attr->inherit		= inherit;
 	attr->disabled		= 1;
 
 try_again:
@@ -537,7 +537,7 @@ static int __cmd_record(int argc __used, const char **argv)
 	}
 
 
-	if (!system_wide || profile_cpu != -1) {
+	if ((!system_wide && !inherit) || profile_cpu != -1) {
 		open_counters(profile_cpu, target_pid);
 	} else {
 		for (i = 0; i < nr_cpus; i++)


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ