summaryrefslogtreecommitdiffstats
path: root/debian/patches/debian/version.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/debian/version.patch')
-rw-r--r--debian/patches/debian/version.patch186
1 files changed, 186 insertions, 0 deletions
diff --git a/debian/patches/debian/version.patch b/debian/patches/debian/version.patch
new file mode 100644
index 000000000..1425f555a
--- /dev/null
+++ b/debian/patches/debian/version.patch
@@ -0,0 +1,186 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Subject: Include package version along with kernel release in stack traces
+Date: Tue, 24 Jul 2012 03:13:10 +0100
+Forwarded: not-needed
+
+For distribution binary packages we assume
+$DISTRIBUTION_OFFICIAL_BUILD, $DISTRIBUTOR and $DISTRIBUTION_VERSION
+are set.
+---
+ Makefile | 15 ++++++++++++++-
+ arch/ia64/kernel/process.c | 5 +++--
+ arch/powerpc/kernel/process.c | 6 ++++--
+ arch/x86/um/sysrq_64.c | 6 ++++--
+ kernel/hung_task.c | 6 ++++--
+ lib/dump_stack.c | 6 ++++--
+ 6 files changed, 33 insertions(+), 11 deletions(-)
+
+Index: linux/Makefile
+===================================================================
+--- linux.orig/Makefile
++++ linux/Makefile
+@@ -1263,7 +1263,8 @@ PHONY += prepare archprepare
+
+ archprepare: outputmakefile archheaders archscripts scripts include/config/kernel.release \
+ asm-generic $(version_h) $(autoksyms_h) include/generated/utsrelease.h \
+- include/generated/compile.h include/generated/autoconf.h remove-stale-files
++ include/generated/compile.h include/generated/autoconf.h \
++ include/generated/package.h remove-stale-files
+
+ prepare0: archprepare
+ $(Q)$(MAKE) $(build)=scripts/mod
+@@ -1321,6 +1322,16 @@ define filechk_version.h
+ echo \#define LINUX_VERSION_SUBLEVEL $(SUBLEVEL)
+ endef
+
++ifneq ($(DISTRIBUTION_OFFICIAL_BUILD),)
++define filechk_package.h
++ echo \#define LINUX_PACKAGE_ID \" $(DISTRIBUTOR) $(DISTRIBUTION_VERSION)\"
++endef
++else
++define filechk_package.h
++ echo \#define LINUX_PACKAGE_ID \"\"
++endef
++endif
++
+ $(version_h): PATCHLEVEL := $(or $(PATCHLEVEL), 0)
+ $(version_h): SUBLEVEL := $(or $(SUBLEVEL), 0)
+ $(version_h): FORCE
+@@ -1335,6 +1346,9 @@ filechk_compile.h = $(srctree)/scripts/m
+ include/generated/compile.h: FORCE
+ $(call filechk,compile.h)
+
++include/generated/package.h: $(srctree)/Makefile FORCE
++ $(call filechk,package.h)
++
+ PHONY += headerdep
+ headerdep:
+ $(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
+Index: linux/arch/ia64/kernel/process.c
+===================================================================
+--- linux.orig/arch/ia64/kernel/process.c
++++ linux/arch/ia64/kernel/process.c
+@@ -35,6 +35,7 @@
+ #include <linux/utsname.h>
+ #include <linux/resume_user_mode.h>
+ #include <linux/rcupdate.h>
++#include <generated/package.h>
+
+ #include <asm/cpu.h>
+ #include <asm/delay.h>
+@@ -102,9 +103,9 @@ show_regs (struct pt_regs *regs)
+ print_modules();
+ printk("\n");
+ show_regs_print_info(KERN_DEFAULT);
+- printk("psr : %016lx ifs : %016lx ip : [<%016lx>] %s (%s)\n",
++ printk("psr : %016lx ifs : %016lx ip : [<%016lx>] %s (%s%s)\n",
+ regs->cr_ipsr, regs->cr_ifs, ip, print_tainted(),
+- init_utsname()->release);
++ init_utsname()->release, LINUX_PACKAGE_ID);
+ printk("ip is at %pS\n", (void *)ip);
+ printk("unat: %016lx pfs : %016lx rsc : %016lx\n",
+ regs->ar_unat, regs->ar_pfs, regs->ar_rsc);
+Index: linux/arch/powerpc/kernel/process.c
+===================================================================
+--- linux.orig/arch/powerpc/kernel/process.c
++++ linux/arch/powerpc/kernel/process.c
+@@ -38,6 +38,7 @@
+ #include <linux/uaccess.h>
+ #include <linux/pkeys.h>
+ #include <linux/seq_buf.h>
++#include <generated/package.h>
+
+ #include <asm/interrupt.h>
+ #include <asm/io.h>
+@@ -1520,8 +1521,9 @@ static void __show_regs(struct pt_regs *
+
+ printk("NIP: "REG" LR: "REG" CTR: "REG"\n",
+ regs->nip, regs->link, regs->ctr);
+- printk("REGS: %px TRAP: %04lx %s (%s)\n",
+- regs, regs->trap, print_tainted(), init_utsname()->release);
++ printk("REGS: %px TRAP: %04lx %s (%s%s)\n",
++ regs, regs->trap, print_tainted(), init_utsname()->release,
++ LINUX_PACKAGE_ID);
+ printk("MSR: "REG" ", regs->msr);
+ print_msr_bits(regs->msr);
+ pr_cont(" CR: %08lx XER: %08lx\n", regs->ccr, regs->xer);
+Index: linux/arch/x86/um/sysrq_64.c
+===================================================================
+--- linux.orig/arch/x86/um/sysrq_64.c
++++ linux/arch/x86/um/sysrq_64.c
+@@ -9,6 +9,7 @@
+ #include <linux/sched.h>
+ #include <linux/sched/debug.h>
+ #include <linux/utsname.h>
++#include <generated/package.h>
+ #include <asm/current.h>
+ #include <asm/ptrace.h>
+ #include <asm/sysrq.h>
+@@ -17,8 +18,9 @@ void show_regs(struct pt_regs *regs)
+ {
+ printk("\n");
+ print_modules();
+- printk(KERN_INFO "Pid: %d, comm: %.20s %s %s\n", task_pid_nr(current),
+- current->comm, print_tainted(), init_utsname()->release);
++ printk(KERN_INFO "Pid: %d, comm: %.20s %s %s%s\n", task_pid_nr(current),
++ current->comm, print_tainted(), init_utsname()->release,
++ LINUX_PACKAGE_ID);
+ printk(KERN_INFO "RIP: %04lx:%pS\n", PT_REGS_CS(regs) & 0xffff,
+ (void *)PT_REGS_IP(regs));
+ printk(KERN_INFO "RSP: %016lx EFLAGS: %08lx\n", PT_REGS_SP(regs),
+Index: linux/kernel/hung_task.c
+===================================================================
+--- linux.orig/kernel/hung_task.c
++++ linux/kernel/hung_task.c
+@@ -24,6 +24,7 @@
+ #include <linux/sched/sysctl.h>
+
+ #include <trace/events/sched.h>
++#include <generated/package.h>
+
+ /*
+ * The number of tasks checked:
+@@ -131,10 +132,11 @@ static void check_hung_task(struct task_
+ sysctl_hung_task_warnings--;
+ pr_err("INFO: task %s:%d blocked for more than %ld seconds.\n",
+ t->comm, t->pid, (jiffies - t->last_switch_time) / HZ);
+- pr_err(" %s %s %.*s\n",
++ pr_err(" %s %s %.*s%s\n",
+ print_tainted(), init_utsname()->release,
+ (int)strcspn(init_utsname()->version, " "),
+- init_utsname()->version);
++ init_utsname()->version,
++ LINUX_PACKAGE_ID);
+ pr_err("\"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\""
+ " disables this message.\n");
+ sched_show_task(t);
+Index: linux/lib/dump_stack.c
+===================================================================
+--- linux.orig/lib/dump_stack.c
++++ linux/lib/dump_stack.c
+@@ -14,6 +14,7 @@
+ #include <linux/kexec.h>
+ #include <linux/utsname.h>
+ #include <linux/stop_machine.h>
++#include <generated/package.h>
+
+ static char dump_stack_arch_desc_str[128];
+
+@@ -54,13 +55,15 @@ void __init dump_stack_set_arch_desc(con
+ */
+ void dump_stack_print_info(const char *log_lvl)
+ {
+- printk("%sCPU: %d PID: %d Comm: %.20s %s%s %s %.*s" BUILD_ID_FMT "\n",
++ printk("%sCPU: %d PID: %d Comm: %.20s %s%s %s %.*s %s" BUILD_ID_FMT "\n",
+ log_lvl, raw_smp_processor_id(), current->pid, current->comm,
+ kexec_crash_loaded() ? "Kdump: loaded " : "",
+ print_tainted(),
+ init_utsname()->release,
+ (int)strcspn(init_utsname()->version, " "),
+- init_utsname()->version, BUILD_ID_VAL);
++ init_utsname()->version,
++ LINUX_PACKAGE_ID,
++ BUILD_ID_VAL);
+
+ if (dump_stack_arch_desc_str[0] != '\0')
+ printk("%sHardware name: %s\n",