[kernel] r19290 - in dists/sid/linux/debian: . patches/debian
Ben Hutchings
benh at alioth.debian.org
Tue Jul 24 02:57:56 UTC 2012
Author: benh
Date: Tue Jul 24 02:57:54 2012
New Revision: 19290
Log:
linux-image: Include package version along with kernel release in stack traces
Currently only some architectures (arm,ia64,powerpc,s390,sh,x86)
include the kernel release. Don't add the package version on other
architectures at this time, as it's less obvious where it should go.
Modified:
dists/sid/linux/debian/changelog
dists/sid/linux/debian/patches/debian/version.patch
Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog Tue Jul 24 01:52:31 2012 (r19289)
+++ dists/sid/linux/debian/changelog Tue Jul 24 02:57:54 2012 (r19290)
@@ -3,6 +3,8 @@
* linux-image: Include package version in utsname version string
('uname -v' output) (Closes: #638878)
* linux-source: Drop support for version.$DISTRIBUTION
+ * [arm,ia64,powerpc,s390,sh,x86] linux-image: Include package version
+ in stack traces from WARN, BUG, Oops etc.
-- Ben Hutchings <ben at decadent.org.uk> Tue, 24 Jul 2012 02:20:37 +0100
Modified: dists/sid/linux/debian/patches/debian/version.patch
==============================================================================
--- dists/sid/linux/debian/patches/debian/version.patch Tue Jul 24 01:52:31 2012 (r19289)
+++ dists/sid/linux/debian/patches/debian/version.patch Tue Jul 24 02:57:54 2012 (r19290)
@@ -1,6 +1,6 @@
From: Ben Hutchings <ben at decadent.org.uk>
-Subject: Add header file with package version information
-Date: Tue, 24 Jul 2012 02:15:43 +0100
+Subject: Include package version along with kernel release in stack traces
+Date: Tue, 24 Jul 2012 03:13:10 +0100
For distribution binary packages we assume
$DISTRIBUTION_OFFICIAL_BUILD, $DISTRIBUTOR and $DISTRIBUTION_VERSION
@@ -23,7 +23,7 @@
+ifneq ($(DISTRIBUTION_OFFICIAL_BUILD),)
+define filechk_package.h
-+ echo \#define LINUX_PACKAGE_ID \"$(DISTRIBUTOR) $(DISTRIBUTION_VERSION)\"
++ echo \#define LINUX_PACKAGE_ID \" $(DISTRIBUTOR) $(DISTRIBUTION_VERSION)\"
+endef
+else
+define filechk_package.h
@@ -43,3 +43,208 @@
PHONY += headerdep
headerdep:
$(Q)find $(srctree)/include/ -name '*.h' | xargs --max-args 1 \
+--- a/arch/s390/kernel/traps.c
++++ b/arch/s390/kernel/traps.c
+@@ -33,6 +33,7 @@
+ #include <linux/kprobes.h>
+ #include <linux/bug.h>
+ #include <linux/utsname.h>
++#include <generated/package.h>
+ #include <asm/system.h>
+ #include <asm/uaccess.h>
+ #include <asm/io.h>
+@@ -166,11 +167,12 @@ static void show_last_breaking_event(str
+ */
+ void dump_stack(void)
+ {
+- printk("CPU: %d %s %s %.*s\n",
++ printk("CPU: %d %s %s %.*s%s\n",
+ task_thread_info(current)->cpu, print_tainted(),
+ init_utsname()->release,
+ (int)strcspn(init_utsname()->version, " "),
+- init_utsname()->version);
++ init_utsname()->version,
++ LINUX_PACKAGE_ID);
+ printk("Process %s (pid: %d, task: %p, ksp: %p)\n",
+ current->comm, current->pid, current,
+ (void *) current->thread.ksp);
+@@ -217,11 +219,12 @@ void show_registers(struct pt_regs *regs
+ void show_regs(struct pt_regs *regs)
+ {
+ print_modules();
+- printk("CPU: %d %s %s %.*s\n",
++ printk("CPU: %d %s %s %.*s%s\n",
+ task_thread_info(current)->cpu, print_tainted(),
+ init_utsname()->release,
+ (int)strcspn(init_utsname()->version, " "),
+- init_utsname()->version);
++ init_utsname()->version,
++ LINUX_PACKAGE_ID);
+ printk("Process %s (pid: %d, task: %p, ksp: %p)\n",
+ current->comm, current->pid, current,
+ (void *) current->thread.ksp);
+--- a/arch/x86/um/sysrq_64.c
++++ b/arch/x86/um/sysrq_64.c
+@@ -8,6 +8,7 @@
+ #include <linux/module.h>
+ #include <linux/sched.h>
+ #include <linux/utsname.h>
++#include <generated/package.h>
+ #include <asm/current.h>
+ #include <asm/ptrace.h>
+ #include "sysrq.h"
+@@ -16,8 +17,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:[<%016lx>]\n", PT_REGS_CS(regs) & 0xffff,
+ PT_REGS_RIP(regs));
+ printk(KERN_INFO "RSP: %016lx EFLAGS: %08lx\n", PT_REGS_SP(regs),
+--- a/arch/x86/kernel/process.c
++++ b/arch/x86/kernel/process.c
+@@ -14,6 +14,7 @@
+ #include <linux/utsname.h>
+ #include <trace/events/power.h>
+ #include <linux/hw_breakpoint.h>
++#include <generated/package.h>
+ #include <asm/cpu.h>
+ #include <asm/system.h>
+ #include <asm/apic.h>
+@@ -105,11 +106,12 @@ void show_regs_common(void)
+ board = dmi_get_system_info(DMI_BOARD_NAME);
+
+ printk(KERN_CONT "\n");
+- printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s",
++ printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s%s",
+ current->pid, current->comm, print_tainted(),
+ init_utsname()->release,
+ (int)strcspn(init_utsname()->version, " "),
+- init_utsname()->version);
++ init_utsname()->version,
++ LINUX_PACKAGE_ID);
+ printk(KERN_CONT " %s %s", vendor, product);
+ if (board)
+ printk(KERN_CONT "/%s", board);
+--- a/arch/x86/kernel/dumpstack.c
++++ b/arch/x86/kernel/dumpstack.c
+@@ -15,6 +15,7 @@
+ #include <linux/bug.h>
+ #include <linux/nmi.h>
+ #include <linux/sysfs.h>
++#include <generated/package.h>
+
+ #include <asm/stacktrace.h>
+
+@@ -185,11 +186,12 @@ void dump_stack(void)
+ unsigned long stack;
+
+ bp = stack_frame(current, NULL);
+- printk("Pid: %d, comm: %.20s %s %s %.*s\n",
++ printk("Pid: %d, comm: %.20s %s %s %.*s%s\n",
+ current->pid, current->comm, print_tainted(),
+ init_utsname()->release,
+ (int)strcspn(init_utsname()->version, " "),
+- init_utsname()->version);
++ init_utsname()->version,
++ LINUX_PACKAGE_ID);
+ show_trace(NULL, NULL, &stack, bp);
+ }
+ EXPORT_SYMBOL(dump_stack);
+--- a/arch/ia64/kernel/process.c
++++ b/arch/ia64/kernel/process.c
+@@ -29,6 +29,7 @@
+ #include <linux/kdebug.h>
+ #include <linux/utsname.h>
+ #include <linux/tracehook.h>
++#include <generated/package.h>
+
+ #include <asm/cpu.h>
+ #include <asm/delay.h>
+@@ -111,9 +112,9 @@ show_regs (struct pt_regs *regs)
+ print_modules();
+ printk("\nPid: %d, CPU %d, comm: %20s\n", task_pid_nr(current),
+ smp_processor_id(), current->comm);
+- 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);
+ print_symbol("ip is at %s\n", ip);
+ printk("unat: %016lx pfs : %016lx rsc : %016lx\n",
+ regs->ar_unat, regs->ar_pfs, regs->ar_rsc);
+--- a/arch/arm/kernel/process.c
++++ b/arch/arm/kernel/process.c
+@@ -31,6 +31,7 @@
+ #include <linux/random.h>
+ #include <linux/hw_breakpoint.h>
+ #include <linux/cpuidle.h>
++#include <generated/package.h>
+
+ #include <asm/cacheflush.h>
+ #include <asm/leds.h>
+@@ -261,11 +262,12 @@ void __show_regs(struct pt_regs *regs)
+ unsigned long flags;
+ char buf[64];
+
+- printk("CPU: %d %s (%s %.*s)\n",
++ printk("CPU: %d %s (%s %.*s%s)\n",
+ raw_smp_processor_id(), print_tainted(),
+ init_utsname()->release,
+ (int)strcspn(init_utsname()->version, " "),
+- init_utsname()->version);
++ init_utsname()->version,
++ LINUX_PACKAGE_ID);
+ print_symbol("PC is at %s\n", instruction_pointer(regs));
+ print_symbol("LR is at %s\n", regs->ARM_lr);
+ printk("pc : [<%08lx>] lr : [<%08lx>] psr: %08lx\n"
+--- a/arch/powerpc/kernel/process.c
++++ b/arch/powerpc/kernel/process.c
+@@ -38,6 +38,7 @@
+ #include <linux/personality.h>
+ #include <linux/random.h>
+ #include <linux/hw_breakpoint.h>
++#include <generated/package.h>
+
+ #include <asm/pgtable.h>
+ #include <asm/uaccess.h>
+@@ -626,8 +627,9 @@ void show_regs(struct pt_regs * regs)
+
+ printk("NIP: "REG" LR: "REG" CTR: "REG"\n",
+ regs->nip, regs->link, regs->ctr);
+- printk("REGS: %p TRAP: %04lx %s (%s)\n",
+- regs, regs->trap, print_tainted(), init_utsname()->release);
++ printk("REGS: %p TRAP: %04lx %s (%s%s)\n",
++ regs, regs->trap, print_tainted(), init_utsname()->release,
++ LINUX_PACKAGE_ID);
+ printk("MSR: "REG" ", regs->msr);
+ printbits(regs->msr, msr_bits);
+ printk(" CR: %08lx XER: %08lx\n", regs->ccr, regs->xer);
+--- a/arch/sh/kernel/process_32.c
++++ b/arch/sh/kernel/process_32.c
+@@ -22,6 +22,7 @@
+ #include <linux/ftrace.h>
+ #include <linux/hw_breakpoint.h>
+ #include <linux/prefetch.h>
++#include <generated/package.h>
+ #include <asm/uaccess.h>
+ #include <asm/mmu_context.h>
+ #include <asm/system.h>
+@@ -32,10 +33,11 @@ void show_regs(struct pt_regs * regs)
+ {
+ printk("\n");
+ printk("Pid : %d, Comm: \t\t%s\n", task_pid_nr(current), current->comm);
+- printk("CPU : %d \t\t%s (%s %.*s)\n\n",
++ printk("CPU : %d \t\t%s (%s %.*s%s)\n\n",
+ smp_processor_id(), print_tainted(), init_utsname()->release,
+ (int)strcspn(init_utsname()->version, " "),
+- init_utsname()->version);
++ init_utsname()->version,
++ LINUX_PACKAGE_ID);
+
+ print_symbol("PC is at %s\n", instruction_pointer(regs));
+ print_symbol("PR is at %s\n", regs->pr);
More information about the Kernel-svn-changes
mailing list