Update to 4.6

Rebase patch series.
This commit is contained in:
Ben Hutchings 2016-05-16 19:49:24 +01:00
parent ac864cd6a7
commit 0c5a10d4c1
4 changed files with 10 additions and 80 deletions

6
debian/changelog vendored
View File

@ -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

View File

@ -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 */

View File

@ -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;

View File

@ -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