From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755080AbbJAJDp (ORCPT ); Thu, 1 Oct 2015 05:03:45 -0400 Received: from mail-pa0-f49.google.com ([209.85.220.49]:36716 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753830AbbJAJDm (ORCPT ); Thu, 1 Oct 2015 05:03:42 -0400 From: Taeung Song To: Arnaldo Carvalho de Melo Cc: linux-kernel@vger.kernel.org, jolsa@redhat.com, namhyung@kernel.org, Ingo Molnar , Taeung Song Subject: [PATCH v1] perf report: Fix owner error when reading perf.data Date: Thu, 1 Oct 2015 18:03:34 +0900 Message-Id: <1443690214-1194-1-git-send-email-treeze.taeung@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If perf.data file is owned by some user, it can't be read even if current user is root. A 'st_uid' from fstat() is user ID of the file owner. Therefore use getuid() instead of st_uid to check if user of the calling 'perf' process is root or not. Signed-off-by: Taeung Song --- tools/perf/util/data.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/data.c b/tools/perf/util/data.c index 1921942..91ebe4e 100644 --- a/tools/perf/util/data.c +++ b/tools/perf/util/data.c @@ -67,7 +67,7 @@ static int open_file_read(struct perf_data_file *file) if (fstat(fd, &st) < 0) goto out_close; - if (!file->force && st.st_uid && (st.st_uid != geteuid())) { + if (!file->force && getuid() && (st.st_uid != geteuid())) { pr_err("File %s not owned by current user or root (use -f to override)\n", file->path); goto out_close; -- 1.9.1