parent
ac864cd6a7
commit
0c5a10d4c1
|
@ -1,3 +1,9 @@
|
|||
linux (4.6-1~exp1) UNRELEASED; urgency=medium
|
||||
|
||||
* New upstream release: http://kernelnewbies.org/Linux_4.6
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Mon, 16 May 2016 19:33:45 +0100
|
||||
|
||||
linux (4.6~rc7-1~exp1) experimental; urgency=medium
|
||||
|
||||
* New upstream release candidate
|
||||
|
|
|
@ -1,75 +0,0 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Tue, 19 Jan 2016 21:12:41 +0000
|
||||
Subject: perf tools: Fix unused variables: x86_{32,64}_regoffset_table
|
||||
Forwarded: http://mid.gmane.org/20160119213306.GE2637@decadent.org.uk
|
||||
|
||||
gcc 5 doesn't seem to care about these, but gcc 6 does and that
|
||||
results in a build failure.
|
||||
|
||||
Fixes: bbbe6bf6037d ("perf tools: Introduce regs_query_register_offset() ...")
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
tools/perf/arch/x86/util/dwarf-regs.c | 38 ++++++++++++++++-------------------
|
||||
1 file changed, 17 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/tools/perf/arch/x86/util/dwarf-regs.c b/tools/perf/arch/x86/util/dwarf-regs.c
|
||||
index 9223c16..fe1e516 100644
|
||||
--- a/tools/perf/arch/x86/util/dwarf-regs.c
|
||||
+++ b/tools/perf/arch/x86/util/dwarf-regs.c
|
||||
@@ -55,26 +55,10 @@ struct pt_regs_offset {
|
||||
|
||||
#define REG_OFFSET_END {.name = NULL, .offset = 0}
|
||||
|
||||
+/* TODO: switching by dwarf address size */
|
||||
#ifdef __x86_64__
|
||||
-# define REG_OFFSET_NAME_64(n, r) {.name = n, .offset = offsetof(struct pt_regs, r)}
|
||||
-# define REG_OFFSET_NAME_32(n, r) {.name = n, .offset = -1}
|
||||
-#else
|
||||
-# define REG_OFFSET_NAME_64(n, r) {.name = n, .offset = -1}
|
||||
-# define REG_OFFSET_NAME_32(n, r) {.name = n, .offset = offsetof(struct pt_regs, r)}
|
||||
-#endif
|
||||
-
|
||||
-static const struct pt_regs_offset x86_32_regoffset_table[] = {
|
||||
- REG_OFFSET_NAME_32("%ax", eax),
|
||||
- REG_OFFSET_NAME_32("%cx", ecx),
|
||||
- REG_OFFSET_NAME_32("%dx", edx),
|
||||
- REG_OFFSET_NAME_32("%bx", ebx),
|
||||
- REG_OFFSET_NAME_32("$stack", esp), /* Stack address instead of %sp */
|
||||
- REG_OFFSET_NAME_32("%bp", ebp),
|
||||
- REG_OFFSET_NAME_32("%si", esi),
|
||||
- REG_OFFSET_NAME_32("%di", edi),
|
||||
- REG_OFFSET_END,
|
||||
-};
|
||||
|
||||
+#define REG_OFFSET_NAME_64(n, r) {.name = n, .offset = offsetof(struct pt_regs, r)}
|
||||
static const struct pt_regs_offset x86_64_regoffset_table[] = {
|
||||
REG_OFFSET_NAME_64("%ax", rax),
|
||||
REG_OFFSET_NAME_64("%dx", rdx),
|
||||
@@ -94,12 +78,24 @@ static const struct pt_regs_offset x86_64_regoffset_table[] = {
|
||||
REG_OFFSET_NAME_64("%r15", r15),
|
||||
REG_OFFSET_END,
|
||||
};
|
||||
-
|
||||
-/* TODO: switching by dwarf address size */
|
||||
-#ifdef __x86_64__
|
||||
#define regoffset_table x86_64_regoffset_table
|
||||
+
|
||||
#else
|
||||
+
|
||||
+#define REG_OFFSET_NAME_32(n, r) {.name = n, .offset = offsetof(struct pt_regs, r)}
|
||||
+static const struct pt_regs_offset x86_32_regoffset_table[] = {
|
||||
+ REG_OFFSET_NAME_32("%ax", eax),
|
||||
+ REG_OFFSET_NAME_32("%cx", ecx),
|
||||
+ REG_OFFSET_NAME_32("%dx", edx),
|
||||
+ REG_OFFSET_NAME_32("%bx", ebx),
|
||||
+ REG_OFFSET_NAME_32("$stack", esp), /* Stack address instead of %sp */
|
||||
+ REG_OFFSET_NAME_32("%bp", ebp),
|
||||
+ REG_OFFSET_NAME_32("%si", esi),
|
||||
+ REG_OFFSET_NAME_32("%di", edi),
|
||||
+ REG_OFFSET_END,
|
||||
+};
|
||||
#define regoffset_table x86_32_regoffset_table
|
||||
+
|
||||
#endif
|
||||
|
||||
/* Minus 1 for the ending REG_OFFSET_END */
|
|
@ -10,7 +10,7 @@ This standalone version doesn't include making the variable read-only
|
|||
---
|
||||
--- a/include/linux/perf_event.h
|
||||
+++ b/include/linux/perf_event.h
|
||||
@@ -898,6 +898,11 @@ extern int perf_cpu_time_max_percent_han
|
||||
@@ -1002,6 +1002,11 @@ extern int perf_cpu_time_max_percent_han
|
||||
loff_t *ppos);
|
||||
|
||||
|
||||
|
@ -24,7 +24,7 @@ This standalone version doesn't include making the variable read-only
|
|||
return sysctl_perf_event_paranoid > -1;
|
||||
--- a/kernel/events/core.c
|
||||
+++ b/kernel/events/core.c
|
||||
@@ -174,8 +174,13 @@ static struct srcu_struct pmus_srcu;
|
||||
@@ -350,8 +350,13 @@ static struct srcu_struct pmus_srcu;
|
||||
* 0 - disallow raw tracepoint access for unpriv
|
||||
* 1 - disallow cpu events for unpriv
|
||||
* 2 - disallow kernel profiling for unpriv
|
||||
|
@ -33,12 +33,12 @@ This standalone version doesn't include making the variable read-only
|
|||
+#ifdef CONFIG_GRKERNSEC_PERF_HARDEN
|
||||
+int sysctl_perf_event_paranoid __read_mostly = 3;
|
||||
+#else
|
||||
int sysctl_perf_event_paranoid __read_mostly = 1;
|
||||
int sysctl_perf_event_paranoid __read_mostly = 2;
|
||||
+#endif
|
||||
|
||||
/* Minimum for 512 kiB + 1 user control page */
|
||||
int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */
|
||||
@@ -7904,6 +7909,11 @@ SYSCALL_DEFINE5(perf_event_open,
|
||||
@@ -8345,6 +8350,11 @@ SYSCALL_DEFINE5(perf_event_open,
|
||||
if (flags & ~PERF_FLAG_ALL)
|
||||
return -EINVAL;
|
||||
|
||||
|
|
|
@ -111,7 +111,6 @@ bugfix/all/tools-lib-lockdep-use-ldflags.patch
|
|||
bugfix/x86/tools-hv-fix-fortify-format-warning.patch
|
||||
bugfix/x86/revert-perf-build-fix-libunwind-feature-detection-on.patch
|
||||
bugfix/alpha/alpha-uapi-add-support-for-__sane_userspace_types__.patch
|
||||
bugfix/x86/perf-tools-fix-unused-variables-x86_-32-64-_regoffse.patch
|
||||
bugfix/x86/revert-perf-tools-x86-build-perf-on-older-user-space.patch
|
||||
bugfix/all/lockdep-add-missing-macros.patch
|
||||
bugfix/all/tools-build-remove-bpf-run-time-check-at-build-time.patch
|
||||
|
|
Loading…
Reference in New Issue