From 0c5a10d4c1c56f369856560dbec58d2c043ad0eb Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Mon, 16 May 2016 19:49:24 +0100 Subject: [PATCH] Update to 4.6 Rebase patch series. --- debian/changelog | 6 ++ ...nused-variables-x86_-32-64-_regoffse.patch | 75 ------------------- .../grsecurity/grkernsec_perf_harden.patch | 8 +- debian/patches/series | 1 - 4 files changed, 10 insertions(+), 80 deletions(-) delete mode 100644 debian/patches/bugfix/x86/perf-tools-fix-unused-variables-x86_-32-64-_regoffse.patch diff --git a/debian/changelog b/debian/changelog index e1ee1de6f..97b731e8b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +linux (4.6-1~exp1) UNRELEASED; urgency=medium + + * New upstream release: http://kernelnewbies.org/Linux_4.6 + + -- Ben Hutchings Mon, 16 May 2016 19:33:45 +0100 + linux (4.6~rc7-1~exp1) experimental; urgency=medium * New upstream release candidate diff --git a/debian/patches/bugfix/x86/perf-tools-fix-unused-variables-x86_-32-64-_regoffse.patch b/debian/patches/bugfix/x86/perf-tools-fix-unused-variables-x86_-32-64-_regoffse.patch deleted file mode 100644 index 96141eefb..000000000 --- a/debian/patches/bugfix/x86/perf-tools-fix-unused-variables-x86_-32-64-_regoffse.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: Ben Hutchings -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 ---- - 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 */ diff --git a/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch b/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch index d178bcc73..bd1203b12 100644 --- a/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch +++ b/debian/patches/features/all/grsecurity/grkernsec_perf_harden.patch @@ -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; diff --git a/debian/patches/series b/debian/patches/series index 5d311b0ba..e320a992c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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