[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