[tip:perf/urgent] perf symbols: Check kptr_restrict for root

2016-05-29 Thread tip-bot for Wang Nan
Commit-ID:  38272dc4f1b17437871b786d567e1242d0904f5a
Gitweb: http://git.kernel.org/tip/38272dc4f1b17437871b786d567e1242d0904f5a
Author: Wang Nan 
AuthorDate: Tue, 24 May 2016 09:21:27 +
Committer:  Arnaldo Carvalho de Melo 
CommitDate: Fri, 27 May 2016 09:41:23 -0300

perf symbols: Check kptr_restrict for root

If kptr_restrict is set to 2, even root is not allowed to see pointers.
This patch checks kptr_restrict even if euid == 0. For root, report
error if kptr_restrict is 2.

Signed-off-by: Wang Nan 
Tested-by: Arnaldo Carvalho de Melo 
Cc: Zefan Li 
Cc: pi3or...@163.com
Link: 
http://lkml.kernel.org/r/1464081688-167940-1-git-send-email-wangn...@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo 
---
 tools/perf/util/symbol.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 20f9cb3..54c4ff2 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1933,17 +1933,17 @@ int setup_intlist(struct intlist **list, const char 
*list_str,
 static bool symbol__read_kptr_restrict(void)
 {
bool value = false;
+   FILE *fp = fopen("/proc/sys/kernel/kptr_restrict", "r");
 
-   if (geteuid() != 0) {
-   FILE *fp = fopen("/proc/sys/kernel/kptr_restrict", "r");
-   if (fp != NULL) {
-   char line[8];
+   if (fp != NULL) {
+   char line[8];
 
-   if (fgets(line, sizeof(line), fp) != NULL)
-   value = atoi(line) != 0;
+   if (fgets(line, sizeof(line), fp) != NULL)
+   value = (geteuid() != 0) ?
+   (atoi(line) != 0) :
+   (atoi(line) == 2);
 
-   fclose(fp);
-   }
+   fclose(fp);
}
 
return value;


[tip:perf/urgent] perf symbols: Check kptr_restrict for root

2016-05-29 Thread tip-bot for Wang Nan
Commit-ID:  38272dc4f1b17437871b786d567e1242d0904f5a
Gitweb: http://git.kernel.org/tip/38272dc4f1b17437871b786d567e1242d0904f5a
Author: Wang Nan 
AuthorDate: Tue, 24 May 2016 09:21:27 +
Committer:  Arnaldo Carvalho de Melo 
CommitDate: Fri, 27 May 2016 09:41:23 -0300

perf symbols: Check kptr_restrict for root

If kptr_restrict is set to 2, even root is not allowed to see pointers.
This patch checks kptr_restrict even if euid == 0. For root, report
error if kptr_restrict is 2.

Signed-off-by: Wang Nan 
Tested-by: Arnaldo Carvalho de Melo 
Cc: Zefan Li 
Cc: pi3or...@163.com
Link: 
http://lkml.kernel.org/r/1464081688-167940-1-git-send-email-wangn...@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo 
---
 tools/perf/util/symbol.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 20f9cb3..54c4ff2 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1933,17 +1933,17 @@ int setup_intlist(struct intlist **list, const char 
*list_str,
 static bool symbol__read_kptr_restrict(void)
 {
bool value = false;
+   FILE *fp = fopen("/proc/sys/kernel/kptr_restrict", "r");
 
-   if (geteuid() != 0) {
-   FILE *fp = fopen("/proc/sys/kernel/kptr_restrict", "r");
-   if (fp != NULL) {
-   char line[8];
+   if (fp != NULL) {
+   char line[8];
 
-   if (fgets(line, sizeof(line), fp) != NULL)
-   value = atoi(line) != 0;
+   if (fgets(line, sizeof(line), fp) != NULL)
+   value = (geteuid() != 0) ?
+   (atoi(line) != 0) :
+   (atoi(line) == 2);
 
-   fclose(fp);
-   }
+   fclose(fp);
}
 
return value;