* [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 [not found] <20080826184008.6be39f19.sfr@canb.auug.org.au> @ 2008-08-26 18:27 ` Kamalesh Babulal 2008-08-26 20:22 ` Arjan van de Ven 0 siblings, 1 reply; 10+ messages in thread From: Kamalesh Babulal @ 2008-08-26 18:27 UTC (permalink / raw) To: Stephen Rothwell; +Cc: LKML, linuxppc-dev, linux-next, mingo, arjan Hi Stephen, Badness warning is seen, while booting up the next-20080825/26 kernels on the powerpc boxes Badness at kernel/notifier.c:25 NIP: c000000000075bfc LR: c000000000075bf0 CTR: 0000000000000000 REGS: c000000000843a80 TRAP: 0700 Not tainted (2.6.27-rc4-next-20080826-autokern1) MSR: 8000000000021032 <ME,IR,DR> CR: 44000082 XER: 00000000 TASK = c000000000762b40[0] 'swapper' THREAD: c000000000840000 CPU: 0 GPR00: c000000000075bf0 c000000000843d00 c000000000842148 0000000000000000 GPR04: c000000000763d28 c000000000634ae0 0000000020000000 0000000000000000 GPR08: 0000000000000000 ffffffffffffffff c0000000007f96f8 c0000000007f96f8 GPR12: 3330303030303033 c0000000008c4300 0000000000000000 c000000000636720 GPR16: 4000000002100000 c000000000634fb8 0000000000000000 0000000000246c00 GPR20: 0000000002819298 c000000000719298 0000000002819508 c000000000719508 GPR24: 0000000002c00000 c0000000006361d0 0000000000000000 0000000000000004 GPR28: 0000000000010000 c000000000763d28 c0000000007d72b0 c000000000763d20 NIP [c000000000075bfc] .notifier_chain_register+0x30/0x80 LR [c000000000075bf0] .notifier_chain_register+0x24/0x80 Call Trace: [c000000000843d00] [c000000000075bf0] .notifier_chain_register+0x24/0x80 (unreliable) [c000000000843d90] [c000000000037c04] .pSeries_reconfig_notifier_register+0x18/0x2c [c000000000843e00] [c00000000003845c] .iommu_init_early_pSeries+0xe8/0x108 [c000000000843e70] [c0000000006f8954] .pSeries_init_early+0x68/0x80 [c000000000843ef0] [c0000000006ecd9c] .setup_system+0x204/0x398 [c000000000843f90] [c0000000000084fc] .start_here_common+0x2c/0xb0 Instruction dump: 7c0802a6 fba1ffe8 fbe1fff8 7c7f1b78 e8640000 7c9d2378 f8010010 f821ff71 4bff77c5 60000000 2fa30000 409e0020 <0fe00000> 48000030 801d0010 812b0010 console [udbg0] enabled Partition configured for 8 cpus. CPU maps initialized for 2 threads per core Starting Linux PPC64 #1 SMP Tue Aug 26 12:55:19 EDT 2008 ----------------------------------------------------- ppc64_pft_size = 0x19 physicalMemorySize = 0x80000000 htab_hash_mask = 0x3ffff ----------------------------------------------------- Initializing cgroup subsys cpuset ------------[ cut here ]------------ Badness at kernel/notifier.c:25 NIP: c000000000075bfc LR: c000000000075bf0 CTR: c00000000009145c REGS: c000000000843ac0 TRAP: 0700 Tainted: G W (2.6.27-rc4-next-20080826-autokern1) MSR: 8000000000021032 <ME,IR,DR> CR: 22000022 XER: 00000001 TASK = c000000000762b40[0] 'swapper' THREAD: c000000000840000 CPU: 0 GPR00: c000000000075bf0 c000000000843d40 c000000000842148 0000000000000000 GPR04: c00000000077f1a0 c00000000090bd00 c00000000074dc50 0000000000067430 GPR08: c0000000008bbc28 ffffffffffffffff c0000000007fef60 c0000000007fef60 GPR12: 0000000000367a5e c0000000008c4300 0000000000000000 c000000000636720 GPR16: 4000000002100000 c000000000634fb8 0000000000000000 0000000000246c00 GPR20: 0000000002819298 c000000000719298 0000000002819508 c000000000719508 GPR24: 0000000002c00000 c0000000006361d0 0000000000000000 c000000000000000 GPR28: 0000000001b5f8d4 c00000000077f1a0 c0000000007db098 c0000000009073f0 NIP [c000000000075bfc] .notifier_chain_register+0x30/0x80 LR [c000000000075bf0] .notifier_chain_register+0x24/0x80 Call Trace: [c000000000843d40] [c000000000075bf0] .notifier_chain_register+0x24/0x80 (unreliable) [c000000000843dd0] [c00000000007b200] .clockevents_register_notifier+0x3c/0x80 [c000000000843e60] [c0000000006fc41c] .tick_init+0x1c/0x34 [c000000000843ee0] [c0000000006e3600] .start_kernel+0x50/0x498 [c000000000843f90] [c00000000000850c] .start_here_common+0x3c/0xb0 Instruction dump: 7c0802a6 fba1ffe8 fbe1fff8 7c7f1b78 e8640000 7c9d2378 f8010010 f821ff71 4bff77c5 60000000 2fa30000 409e0020 <0fe00000> 48000030 801d0010 812b0010 Linux version 2.6.27-rc4-next-20080826-autokern1 (root@tundro2.rchland.ibm.com) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-42)) #1 SMP Tue Aug 26 12:55:19 EDT 2008 [boot]0012 Setup Arch ------------[ cut here ]------------ Badness at kernel/notifier.c:25 NIP: c000000000075bfc LR: c000000000075bf0 CTR: 8000000000f7cdec REGS: c000000000843a20 TRAP: 0700 Tainted: G W (2.6.27-rc4-next-20080826-autokern1) MSR: 8000000000021032 <ME,IR,DR> CR: 22000022 XER: 00000001 TASK = c000000000762b40[0] 'swapper' THREAD: c000000000840000 CPU: 0 GPR00: c000000000075bf0 c000000000843ca0 c000000000842148 0000000000000000 GPR04: c000000000761c40 ffffffffffffffff 00000000000000c0 c0000000008c4298 GPR08: c0000000008c429c ffffffffffffffff c0000000007f72c0 c0000000007f72c0 GPR12: 0000000000368181 c0000000008c4300 0000000000000000 c000000000636720 GPR16: 4000000002100000 c000000000634fb8 0000000000000000 0000000000246c00 GPR20: 0000000002819298 c000000000719298 0000000002819508 c000000000719508 GPR24: 0000000002c00000 c0000000006361d0 0000000000000000 0000000000000000 GPR28: c0000000008dfe00 c000000000761c40 c0000000007d8970 c0000000008dfe08 NIP [c000000000075bfc] .notifier_chain_register+0x30/0x80 LR [c000000000075bf0] .notifier_chain_register+0x24/0x80 Call Trace: [c000000000843ca0] [c000000000075bf0] .notifier_chain_register+0x24/0x80 (unreliable) [c000000000843d30] [c00000000007600c] .atomic_notifier_chain_register+0x38/0x6c [c000000000843dd0] [c0000000006efd68] .setup_panic+0x20/0x38 [c000000000843e50] [c0000000006ec920] .setup_arch+0x80/0x21c [c000000000843ee0] [c0000000006e36a0] .start_kernel+0xf0/0x498 [c000000000843f90] [c00000000000850c] .start_here_common+0x3c/0xb0 Instruction dump: 7c0802a6 fba1ffe8 fbe1fff8 7c7f1b78 e8640000 7c9d2378 f8010010 f821ff71 4bff77c5 60000000 2fa30000 409e0020 <0fe00000> 48000030 801d0010 812b0010 ------------[ cut here ]------------ Badness at kernel/notifier.c:25 NIP: c000000000075bfc LR: c000000000075bf0 CTR: 0000000000000001 REGS: c0000000008439d0 TRAP: 0700 Tainted: G W (2.6.27-rc4-next-20080826-autokern1) MSR: 8000000000021032 <ME,IR,DR> CR: 24000022 XER: 00000001 TASK = c000000000762b40[0] 'swapper' THREAD: c000000000840000 CPU: 0 GPR00: c000000000075bf0 c000000000843c50 c000000000842148 0000000000000000 GPR04: c00000000075f498 0000000000000000 c0000000008e0270 c00000000074d7d4 GPR08: 0000000000000002 ffffffffffffffff c0000000007f8980 c0000000007f8980 GPR12: 00000000000186a0 c0000000008c4300 0000000000000000 c000000000636720 GPR16: 4000000002100000 c000000000634fb8 0000000000000000 0000000000246c00 GPR20: 0000000002819298 c000000000719298 0000000002819508 c000000000719508 GPR24: 0000000002c00000 c0000000006361d0 c0000000030512c0 0000000004000000 GPR28: 0000000000000400 c00000000075f498 c0000000007d9ee8 c00000000075f4f8 NIP [c000000000075bfc] .notifier_chain_register+0x30/0x80 LR [c000000000075bf0] .notifier_chain_register+0x24/0x80 Call Trace: [c000000000843c50] [c000000000075bf0] .notifier_chain_register+0x24/0x80 (unreliable) [c000000000843ce0] [c0000000004d6240] .register_cpu_notifier+0x2c/0x54 [c000000000843d70] [c0000000006f6b00] .do_init_bootmem+0x7a8/0xb18 [c000000000843e50] [c0000000006eca48] .setup_arch+0x1a8/0x21c [c000000000843ee0] [c0000000006e36a0] .start_kernel+0xf0/0x498 [c000000000843f90] [c00000000000850c] .start_here_common+0x3c/0xb0 Instruction dump: 7c0802a6 fba1ffe8 fbe1fff8 7c7f1b78 e8640000 7c9d2378 f8010010 f821ff71 4bff77c5 60000000 2fa30000 409e0020 <0fe00000> 48000030 801d0010 812b0010 ------------[ cut here ]------------ Badness at kernel/notifier.c:25 NIP: c000000000075bfc LR: c000000000075bf0 CTR: 0000000000000000 REGS: c000000000843930 TRAP: 0700 Tainted: G W (2.6.27-rc4-next-20080826-autokern1) MSR: 8000000000021032 <ME,IR,DR> CR: 24000022 XER: 00000001 TASK = c000000000762b40[0] 'swapper' THREAD: c000000000840000 CPU: 0 GPR00: c000000000075bf0 c000000000843bb0 c000000000842148 0000000000000000 GPR04: c000000000761f90 c000000003056808 0000000020000001 0000000000000000 GPR08: c0000000007518d0 ffffffffffffffff c0000000007f7e90 c0000000007f7e90 GPR12: c000000000843b80 c0000000008c4300 0000000000000000 c000000000636720 GPR16: 4000000002100000 c000000000634fb8 0000000000000000 0000000000246c00 GPR20: 0000000002819298 c000000000719298 0000000002819508 c000000000719508 GPR24: 0000000002c00000 c0000000006361d0 0000000000000000 c000000000000000 GPR28: c00000007fff80c0 c000000000761f90 c0000000007d90b0 c000000000763d20 NIP [c000000000075bfc] .notifier_chain_register+0x30/0x80 LR [c000000000075bf0] .notifier_chain_register+0x24/0x80 Call Trace: [c000000000843bb0] [c000000000075bf0] .notifier_chain_register+0x24/0x80 (unreliable) [c000000000843c40] [c000000000037c04] .pSeries_reconfig_notifier_register+0x18/0x2c [c000000000843cb0] [c0000000006f48b4] .pci_devs_phb_init+0x58/0x74 [c000000000843d30] [c0000000006edad4] .find_and_init_phbs+0xd8/0x130 [c000000000843dc0] [c0000000006f8470] .pSeries_setup_arch+0xf0/0x210 [c000000000843e50] [c0000000006eca88] .setup_arch+0x1e8/0x21c [c000000000843ee0] [c0000000006e36a0] .start_kernel+0xf0/0x498 [c000000000843f90] [c00000000000850c] .start_here_common+0x3c/0xb0 Instruction dump: 7c0802a6 fba1ffe8 fbe1fff8 7c7f1b78 e8640000 7c9d2378 f8010010 f821ff71 4bff77c5 60000000 2fa30000 409e0020 <0fe00000> 48000030 801d0010 812b0010 EEH: No capable adapters found PPC64 nvram contains 15360 bytes Zone PFN ranges: DMA 0x00000000 -> 0x00080000 Normal 0x00080000 -> 0x00080000 Movable zone start PFN for each node early_node_map[2] active PFN ranges 0: 0x00000000 -> 0x00044000 1: 0x00044000 -> 0x00080000 [boot]0015 Setup Done Built 2 zonelists in Node order, mobility grouping on. Total pages: 517120 Policy zone: DMA ------------[ cut here ]------------ Badness at kernel/notifier.c:25 NIP: c000000000075bfc LR: c000000000075bf0 CTR: 8000000000f7cdec REGS: c000000000843ac0 TRAP: 0700 Tainted: G W (2.6.27-rc4-next-20080826-autokern1) MSR: 8000000000021032 <ME,IR,DR> CR: 24000022 XER: 00000001 TASK = c000000000762b40[0] 'swapper' THREAD: c000000000840000 CPU: 0 GPR00: c000000000075bf0 c000000000843d40 c000000000842148 0000000000000000 GPR04: c00000000075f640 ffffffffffffffff 00000000000000b0 00000000001bb4f0 GPR08: 000000003b7d85d0 ffffffffffffffff c0000000008027b0 c0000000008027b0 GPR12: 00000000003697af c0000000008c4300 0000000000000000 c000000000636720 GPR16: 4000000002100000 c000000000634fb8 0000000000000000 0000000000246c00 GPR20: 0000000002819298 c000000000719298 0000000002819508 c000000000719508 GPR24: 0000000002c00000 c0000000006361d0 c0000000008d5918 c000000000716618 GPR28: c0000000008c1040 c00000000075f640 c0000000007d9ee8 c00000000075f4f8 NIP [c000000000075bfc] .notifier_chain_register+0x30/0x80 LR [c000000000075bf0] .notifier_chain_register+0x24/0x80 Call Trace: [c000000000843d40] [c000000000075bf0] .notifier_chain_register+0x24/0x80 (unreliable) [c000000000843dd0] [c0000000004d6240] .register_cpu_notifier+0x2c/0x54 [c000000000843e60] [c0000000006fefe8] .page_alloc_init+0x1c/0x34 [c000000000843ee0] [c0000000006e3784] .start_kernel+0x1d4/0x498 [c000000000843f90] [c00000000000850c] .start_here_common+0x3c/0xb0 Instruction dump: 7c0802a6 fba1ffe8 fbe1fff8 7c7f1b78 e8640000 7c9d2378 f8010010 f821ff71 4bff77c5 60000000 2fa30000 409e0020 <0fe00000> 48000030 801d0010 812b0010 . . . <snip many of the similar call traces> the commit which introduced this warning is commit 16f9b13de93c8bfdac16b4d15577af2c132358ef Author: Arjan van de Ven <arjan@linux.intel.com> Date: Fri Aug 15 15:29:38 2008 -0700 debug: add notifier chain debugging during some development we suspected a case where we left something in a notifier chain that was from a module that was unloaded already... and that sort of thing is rather hard to track down. This patch adds a very simple sanity check (which isn't all that expensive) to make sure the notifier we're about to call is actually from either the kernel itself of from a still-loaded module, avoiding a hard-to-chase-down crash. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/kernel/notifier.c b/kernel/notifier.c index 823be11..143fdd7 100644 --- a/kernel/notifier.c +++ b/kernel/notifier.c @@ -21,6 +21,10 @@ BLOCKING_NOTIFIER_HEAD(reboot_notifier_list); static int notifier_chain_register(struct notifier_block **nl, struct notifier_block *n) { + if (!kernel_text_address((unsigned long)n->notifier_call)) { + WARN(1, "Invalid notifier registered!"); + return 0; + } while ((*nl) != NULL) { if (n->priority > (*nl)->priority) break; <snip> -- Thanks & Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-26 18:27 ` [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 Kamalesh Babulal @ 2008-08-26 20:22 ` Arjan van de Ven 2008-08-27 11:12 ` Kamalesh Babulal 0 siblings, 1 reply; 10+ messages in thread From: Arjan van de Ven @ 2008-08-26 20:22 UTC (permalink / raw) To: Kamalesh Babulal; +Cc: Stephen Rothwell, LKML, linuxppc-dev, linux-next, mingo [-- Attachment #1: Type: text/plain, Size: 229 bytes --] Kamalesh Babulal wrote: > Hi Stephen, > > Badness warning is seen, while booting up the next-20080825/26 kernels on > the powerpc boxes > this is fixed in the patch I sent to Ingo earlier today (attached again for reference) [-- Attachment #2: 0001-debug-add-notifier-chain-debugging.patch --] [-- Type: text/x-patch, Size: 3175 bytes --] >From eafa461d187448998b1f66c9134e66b125db9531 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven <arjan@linux.intel.com> Date: Tue, 26 Aug 2008 09:01:06 -0700 Subject: [PATCH] debug: add notifier chain debugging during some development we suspected a case where we left something in a notifier chain that was from a module that was unloaded already... and that sort of thing is rather hard to track down. This patch adds a very simple sanity check (which isn't all that expensive) to make sure the notifier we're about to call is actually from either the kernel itself of from a still-loaded module, avoiding a hard-to-chase-down crash. Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Acked-by: Tony Luck <tony.luck@intel.com> --- include/linux/kernel.h | 3 +++ kernel/extable.c | 16 ++++++++++++++++ kernel/notifier.c | 6 ++++++ lib/vsprintf.c | 2 +- 4 files changed, 26 insertions(+), 1 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 2651f80..4e1366b 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -187,6 +187,9 @@ extern unsigned long long memparse(char *ptr, char **retptr); extern int core_kernel_text(unsigned long addr); extern int __kernel_text_address(unsigned long addr); extern int kernel_text_address(unsigned long addr); +extern int func_ptr_is_kernel_text(void *ptr); +extern void *dereference_function_descriptor(void *ptr); + struct pid; extern struct pid *session_of_pgrp(struct pid *pgrp); diff --git a/kernel/extable.c b/kernel/extable.c index a26cb2e..adf0cc9 100644 --- a/kernel/extable.c +++ b/kernel/extable.c @@ -66,3 +66,19 @@ int kernel_text_address(unsigned long addr) return 1; return module_text_address(addr) != NULL; } + +/* + * On some architectures (PPC64, IA64) function pointers + * are actually only tokens to some data that then holds the + * real function address. As a result, to find if a function + * pointer is part of the kernel text, we need to do some + * special dereferencing first. + */ +int func_ptr_is_kernel_text(void *ptr) +{ + unsigned long addr; + addr = (unsigned long) dereference_function_descriptor(ptr); + if (core_kernel_text(addr)) + return 1; + return module_text_address(addr) != NULL; +} diff --git a/kernel/notifier.c b/kernel/notifier.c index 823be11..522277c 100644 --- a/kernel/notifier.c +++ b/kernel/notifier.c @@ -82,6 +82,12 @@ static int __kprobes notifier_call_chain(struct notifier_block **nl, while (nb && nr_to_call) { next_nb = rcu_dereference(nb->next); + if (!func_ptr_is_kernel_text(nb->notifier_call)) { + WARN(1, "Invalid notifier called!"); + nb = next_nb; + continue; + } + ret = nb->notifier_call(nb, val, v); if (nr_calls) diff --git a/lib/vsprintf.c b/lib/vsprintf.c index d8d1d11..f5e5ffb 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@ -513,7 +513,7 @@ static char *string(char *buf, char *end, char *s, int field_width, int precisio return buf; } -static inline void *dereference_function_descriptor(void *ptr) +void *dereference_function_descriptor(void *ptr) { #if defined(CONFIG_IA64) || defined(CONFIG_PPC64) void *p; -- 1.5.5.1 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-26 20:22 ` Arjan van de Ven @ 2008-08-27 11:12 ` Kamalesh Babulal 2008-08-27 13:48 ` Arjan van de Ven 0 siblings, 1 reply; 10+ messages in thread From: Kamalesh Babulal @ 2008-08-27 11:12 UTC (permalink / raw) To: Arjan van de Ven; +Cc: Stephen Rothwell, LKML, linuxppc-dev, linux-next, mingo Arjan van de Ven wrote: > Kamalesh Babulal wrote: >> Hi Stephen, >> >> Badness warning is seen, while booting up the next-20080825/26 kernels on >> the powerpc boxes >> > > this is fixed in the patch I sent to Ingo earlier today > (attached again for reference) > > > ------------------------------------------------------------------------ > > From eafa461d187448998b1f66c9134e66b125db9531 Mon Sep 17 00:00:00 2001 > From: Arjan van de Ven <arjan@linux.intel.com> > Date: Tue, 26 Aug 2008 09:01:06 -0700 > Subject: [PATCH] debug: add notifier chain debugging > > during some development we suspected a case where we left something > in a notifier chain that was from a module that was unloaded already... > and that sort of thing is rather hard to track down. > > This patch adds a very simple sanity check (which isn't all that > expensive) to make sure the notifier we're about to call is > actually from either the kernel itself of from a still-loaded > module, avoiding a hard-to-chase-down crash. > > Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> > Acked-by: Tony Luck <tony.luck@intel.com> > --- > include/linux/kernel.h | 3 +++ > kernel/extable.c | 16 ++++++++++++++++ > kernel/notifier.c | 6 ++++++ > lib/vsprintf.c | 2 +- > 4 files changed, 26 insertions(+), 1 deletions(-) > > diff --git a/include/linux/kernel.h b/include/linux/kernel.h > index 2651f80..4e1366b 100644 > --- a/include/linux/kernel.h > +++ b/include/linux/kernel.h > @@ -187,6 +187,9 @@ extern unsigned long long memparse(char *ptr, char **retptr); > extern int core_kernel_text(unsigned long addr); > extern int __kernel_text_address(unsigned long addr); > extern int kernel_text_address(unsigned long addr); > +extern int func_ptr_is_kernel_text(void *ptr); > +extern void *dereference_function_descriptor(void *ptr); > + > struct pid; > extern struct pid *session_of_pgrp(struct pid *pgrp); > > diff --git a/kernel/extable.c b/kernel/extable.c > index a26cb2e..adf0cc9 100644 > --- a/kernel/extable.c > +++ b/kernel/extable.c > @@ -66,3 +66,19 @@ int kernel_text_address(unsigned long addr) > return 1; > return module_text_address(addr) != NULL; > } > + > +/* > + * On some architectures (PPC64, IA64) function pointers > + * are actually only tokens to some data that then holds the > + * real function address. As a result, to find if a function > + * pointer is part of the kernel text, we need to do some > + * special dereferencing first. > + */ > +int func_ptr_is_kernel_text(void *ptr) > +{ > + unsigned long addr; > + addr = (unsigned long) dereference_function_descriptor(ptr); > + if (core_kernel_text(addr)) > + return 1; > + return module_text_address(addr) != NULL; > +} > diff --git a/kernel/notifier.c b/kernel/notifier.c > index 823be11..522277c 100644 > --- a/kernel/notifier.c > +++ b/kernel/notifier.c > @@ -82,6 +82,12 @@ static int __kprobes notifier_call_chain(struct notifier_block **nl, > > while (nb && nr_to_call) { > next_nb = rcu_dereference(nb->next); > + if (!func_ptr_is_kernel_text(nb->notifier_call)) { > + WARN(1, "Invalid notifier called!"); > + nb = next_nb; > + continue; > + } > + > ret = nb->notifier_call(nb, val, v); > > if (nr_calls) > diff --git a/lib/vsprintf.c b/lib/vsprintf.c > index d8d1d11..f5e5ffb 100644 > --- a/lib/vsprintf.c > +++ b/lib/vsprintf.c > @@ -513,7 +513,7 @@ static char *string(char *buf, char *end, char *s, int field_width, int precisio > return buf; > } > > -static inline void *dereference_function_descriptor(void *ptr) > +void *dereference_function_descriptor(void *ptr) > { > #if defined(CONFIG_IA64) || defined(CONFIG_PPC64) > void *p; Thanks for reference of the patch, After replacing the patch with the latest one above on the powerpc, the warning still remains Badness at kernel/notifier.c:86 NIP: c000000000081470 LR: c000000000081494 CTR: c00000000005a2d0 REGS: c0000021ce0bfaf0 TRAP: 0700 Not tainted (2.6.27-rc4-next-20080826-autotest) MSR: 8000000000029032 <EE,ME,IR,DR> CR: 24008042 XER: 00000005 TASK = c0000015de080000[1] 'swapper' THREAD: c0000021ce0bc000 CPU: 0 GPR00: c000000000081494 c0000021ce0bfd70 c00000000081e940 c000000000749c38 GPR04: 0000000000000003 0000000000000001 ffffffffffffffff c0000021ce0bfe90 GPR08: ffffffffffffffff ffffffffffffffff c0000000004fd9f0 c0000000004fd9f0 GPR12: 0000000024000042 c00000000089c300 0000000002307ef0 c0000000006332a0 GPR16: c000000000631f28 c000000000633388 00000000018bf8b0 0000000002700000 GPR20: c00000000070b07c c000000000707ef0 c000000000708160 c000000000631c58 GPR24: 0000000000000003 0000000000000001 c0000021ce0bfe90 0000000000000000 GPR28: ffffffffffffffff c000000000749c20 c0000000007bf338 c000000000749c38 NIP [c000000000081470] .notifier_call_chain+0x70/0x140 LR [c000000000081494] .notifier_call_chain+0x94/0x140 Call Trace: [c0000021ce0bfd70] [c000000000081494] .notifier_call_chain+0x94/0x140 (unreliable) [c0000021ce0bfe20] [c0000000004fe3fc] .cpu_up+0x10c/0x200 [c0000021ce0bfee0] [c0000000006cdcc0] .kernel_init+0x1b0/0x440 [c0000021ce0bff90] [c0000000000299cc] .kernel_thread+0x4c/0x68 Instruction dump: e8630000 2fa30000 419e00f0 2fa60000 419e00e8 2e270000 7c7f1b78 3b600000 48000028 60000000 60000000 60000000 <0fe00000> 2fbd0000 2f3c0000 7fbfeb78 -- Thanks & Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-27 11:12 ` Kamalesh Babulal @ 2008-08-27 13:48 ` Arjan van de Ven 2008-08-27 14:33 ` Stephen Rothwell 2008-08-27 17:52 ` Kamalesh Babulal 0 siblings, 2 replies; 10+ messages in thread From: Arjan van de Ven @ 2008-08-27 13:48 UTC (permalink / raw) To: Kamalesh Babulal; +Cc: Stephen Rothwell, LKML, linuxppc-dev, linux-next, mingo Kamalesh Babulal wrote: > > Thanks for reference of the patch, After replacing the patch with the latest > one above on the powerpc, the warning still remains > > Badness at kernel/notifier.c:86 sadly you have something going on that doesn't list the modules loaded etc... is this during boot or way later? (because if it's the later, you might be hitting a legitimate bug ;-) > NIP: c000000000081470 LR: c000000000081494 CTR: c00000000005a2d0 > REGS: c0000021ce0bfaf0 TRAP: 0700 Not tainted (2.6.27-rc4-next-20080826-autotest) > MSR: 8000000000029032 <EE,ME,IR,DR> CR: 24008042 XER: 00000005 > TASK = c0000015de080000[1] 'swapper' THREAD: c0000021ce0bc000 CPU: 0 > GPR00: c000000000081494 c0000021ce0bfd70 c00000000081e940 c000000000749c38 > GPR04: 0000000000000003 0000000000000001 ffffffffffffffff c0000021ce0bfe90 > GPR08: ffffffffffffffff ffffffffffffffff c0000000004fd9f0 c0000000004fd9f0 > GPR12: 0000000024000042 c00000000089c300 0000000002307ef0 c0000000006332a0 > GPR16: c000000000631f28 c000000000633388 00000000018bf8b0 0000000002700000 > GPR20: c00000000070b07c c000000000707ef0 c000000000708160 c000000000631c58 > GPR24: 0000000000000003 0000000000000001 c0000021ce0bfe90 0000000000000000 > GPR28: ffffffffffffffff c000000000749c20 c0000000007bf338 c000000000749c38 > NIP [c000000000081470] .notifier_call_chain+0x70/0x140 > LR [c000000000081494] .notifier_call_chain+0x94/0x140 > Call Trace: > [c0000021ce0bfd70] [c000000000081494] .notifier_call_chain+0x94/0x140 (unreliable) > [c0000021ce0bfe20] [c0000000004fe3fc] .cpu_up+0x10c/0x200 > [c0000021ce0bfee0] [c0000000006cdcc0] .kernel_init+0x1b0/0x440 > [c0000021ce0bff90] [c0000000000299cc] .kernel_thread+0x4c/0x68 > Instruction dump: > e8630000 2fa30000 419e00f0 2fa60000 419e00e8 2e270000 7c7f1b78 3b600000 > 48000028 60000000 60000000 60000000 <0fe00000> 2fbd0000 2f3c0000 7fbfeb78 > > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-27 13:48 ` Arjan van de Ven @ 2008-08-27 14:33 ` Stephen Rothwell 2008-08-27 14:38 ` Stephen Rothwell 2008-08-27 17:52 ` Kamalesh Babulal 1 sibling, 1 reply; 10+ messages in thread From: Stephen Rothwell @ 2008-08-27 14:33 UTC (permalink / raw) To: Arjan van de Ven; +Cc: LKML, Kamalesh Babulal, linuxppc-dev, linux-next, mingo [-- Attachment #1: Type: text/plain, Size: 713 bytes --] Hi Arjan, On Wed, 27 Aug 2008 06:48:06 -0700 Arjan van de Ven <arjan@linux.intel.com> wrote: > > Kamalesh Babulal wrote: > > > > Thanks for reference of the patch, After replacing the patch with the latest > > one above on the powerpc, the warning still remains > > > > Badness at kernel/notifier.c:86 > > sadly you have something going on that doesn't list the modules loaded etc... > > is this during boot or way later? > (because if it's the later, you might be hitting a legitimate bug ;-) The original reported trace was during setup_system which is very early in the boot. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-27 14:33 ` Stephen Rothwell @ 2008-08-27 14:38 ` Stephen Rothwell 2008-08-28 14:23 ` David Woodhouse 0 siblings, 1 reply; 10+ messages in thread From: Stephen Rothwell @ 2008-08-27 14:38 UTC (permalink / raw) To: Arjan van de Ven; +Cc: LKML, Kamalesh Babulal, linuxppc-dev, linux-next, mingo [-- Attachment #1: Type: text/plain, Size: 552 bytes --] Hi Arjan, On Thu, 28 Aug 2008 00:33:08 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > The original reported trace was during setup_system which is very early in > the boot. But, of course, that version didn't have the necessary extra dereference of the function address ... And the later debug patch did not check the address at register time, only at notify time. The later trace also looks to be early in the boot. -- Cheers, Stephen Rothwell sfr@canb.auug.org.au http://www.canb.auug.org.au/~sfr/ [-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-27 14:38 ` Stephen Rothwell @ 2008-08-28 14:23 ` David Woodhouse 2008-08-28 14:55 ` David Woodhouse 0 siblings, 1 reply; 10+ messages in thread From: David Woodhouse @ 2008-08-28 14:23 UTC (permalink / raw) To: Stephen Rothwell Cc: LKML, Kamalesh Babulal, linuxppc-dev, linux-next, mingo, Arjan van de Ven On Thu, 2008-08-28 at 00:38 +1000, Stephen Rothwell wrote: > Hi Arjan, > > On Thu, 28 Aug 2008 00:33:08 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > > > The original reported trace was during setup_system which is very early in > > the boot. > > But, of course, that version didn't have the necessary extra dereference > of the function address ... > > And the later debug patch did not check the address at register time, > only at notify time. > > The later trace also looks to be early in the boot. It's isa_bridge_notify(), which is neither within _[se]text nor _[se]inittext, so the core_kernel_text() function disavows it. Where are __devinit functions supposed to end up? $ egrep _[es]init\|_[es]text\|isa_bridge_notify System.map c000000000000000 T _stext c00000000045d000 T _etext c000000000463ca8 t .isa_bridge_notify c00000000063a000 T _sinittext c00000000067c3bc T _einittext c00000000071fd80 d isa_bridge_notify -- David Woodhouse Open Source Technology Centre David.Woodhouse@intel.com Intel Corporation ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-28 14:23 ` David Woodhouse @ 2008-08-28 14:55 ` David Woodhouse 2008-08-28 17:14 ` Milton Miller 0 siblings, 1 reply; 10+ messages in thread From: David Woodhouse @ 2008-08-28 14:55 UTC (permalink / raw) To: Stephen Rothwell Cc: LKML, Kamalesh Babulal, linuxppc-dev, linux-next, mingo, Arjan van de Ven On Thu, 2008-08-28 at 15:23 +0100, David Woodhouse wrote: > On Thu, 2008-08-28 at 00:38 +1000, Stephen Rothwell wrote: > > Hi Arjan, > > > > On Thu, 28 Aug 2008 00:33:08 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote: > > > > > > The original reported trace was during setup_system which is very early in > > > the boot. > > > > But, of course, that version didn't have the necessary extra dereference > > of the function address ... > > > > And the later debug patch did not check the address at register time, > > only at notify time. > > > > The later trace also looks to be early in the boot. > > It's isa_bridge_notify(), which is neither within _[se]text nor > _[se]inittext, so the core_kernel_text() function disavows it. > > Where are __devinit functions supposed to end up? The TEXT_TEXT macro defined in <asm-generic/vmlinux.lds.h> should get this right... but we don't use it. Is there any particular reason for that, or should we.... Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> --- linux-2.6.26.ppc64/arch/powerpc/kernel/vmlinux.lds.S~ 2008-07-13 22:51:29.000000000 +0100 +++ linux-2.6.26.ppc64/arch/powerpc/kernel/vmlinux.lds.S 2008-08-28 15:39:14.000000000 +0100 @@ -35,10 +35,11 @@ SECTIONS ALIGN_FUNCTION(); *(.text.head) _text = .; - *(.text .fixup .text.init.refok .exit.text.refok) + TEXT_TEXT SCHED_TEXT LOCK_TEXT KPROBES_TEXT + *(.fixup) #ifdef CONFIG_PPC32 *(.got1) -- David Woodhouse Open Source Technology Centre David.Woodhouse@intel.com Intel Corporation ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-28 14:55 ` David Woodhouse @ 2008-08-28 17:14 ` Milton Miller 0 siblings, 0 replies; 10+ messages in thread From: Milton Miller @ 2008-08-28 17:14 UTC (permalink / raw) To: David Woodhouse Cc: Stephen Rothwell, LKML, Kamalesh Babulal, linuxppc-dev, linux-next, mingo, Arjan van de Ven David Woodhouse dwmw2 at infradead.org Fri Aug 29 00:55:07 EST 2008 > On Thu, 2008-08-28 at 15:23 +0100, David Woodhouse wrote: >> On Thu, 2008-08-28 at 00:38 +1000, Stephen Rothwell wrote: >>> Hi Arjan, >>> >>> On Thu, 28 Aug 2008 00:33:08 +1000 Stephen Rothwell <sfr at canb.auug.org.au> wrote: >>>> >>>> The original reported trace was during setup_system which is very early in >>>> the boot. >>> >>> But, of course, that version didn't have the necessary extra dereference >>> of the function address ... >>> >>> And the later debug patch did not check the address at register time, >>> only at notify time. >>> >>> The later trace also looks to be early in the boot. >> >> It's isa_bridge_notify(), which is neither within _[se]text nor >> _[se]inittext, so the core_kernel_text() function disavows it. >> >> Where are __devinit functions supposed to end up? > > The TEXT_TEXT macro defined in <asm-generic/vmlinux.lds.h> should get > this right... but we don't use it. Is there any particular reason for > that, or should we.... gitk -- arch/powerpc/kernel/vmlinux.S e95c91821fa56b489d7beb74103a419466c5ec10 [POWERPC] Fix link errors for allyesconfig An allyesconfig build creates a .text section that is so big that the .text.init.refok and .fixup sections are too far away for the relocations to be fixed up correctly. This patch fixes that by linking all the relevent text sections for each file together. Suggested by Paul Mackerras. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Paul Mackerras <paulus@samba.org> Although I think its really fac23fe4be23259a8eaa9bad822f5b14dd07d15c powerpc: Introduce infrastructure for feature sections with alternatives that causes the problems. If the problem is only reaching the branch-out-of-fixup-section, then we could create a macro that caculates the branch as if it were already at the destination address (using something like b (target-fixup_start)-(current-alternative_start) and then removing the code that determines the branch target goes beyond the feature section. Just a concept, have't tried it yet and don't know if there are other problems with .text.init.refok. Or we fix our defintion and put a comment next to TEXT_TEXT that we don't use it for future editors. > > Signed-off-by: David Woodhouse <David.Woodhouse at intel.com> > > --- linux-2.6.26.ppc64/arch/powerpc/kernel/vmlinux.lds.S~ 2008-07-13 22:51:29.000000000 +0100 > +++ linux-2.6.26.ppc64/arch/powerpc/kernel/vmlinux.lds.S 2008-08-28 15:39:14.000000000 +0100 > @@ -35,10 +35,11 @@ SECTIONS > ALIGN_FUNCTION(); > *(.text.head) > _text = .; > - *(.text .fixup .text.init.refok .exit.text.refok) > + TEXT_TEXT > SCHED_TEXT > LOCK_TEXT > KPROBES_TEXT > + *(.fixup) > > #ifdef CONFIG_PPC32 > *(.got1) > > -- > David Woodhouse Open Source Technology Centre > David.Woodhouse at intel.com Intel Corporation ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 2008-08-27 13:48 ` Arjan van de Ven 2008-08-27 14:33 ` Stephen Rothwell @ 2008-08-27 17:52 ` Kamalesh Babulal 1 sibling, 0 replies; 10+ messages in thread From: Kamalesh Babulal @ 2008-08-27 17:52 UTC (permalink / raw) To: Arjan van de Ven; +Cc: Stephen Rothwell, LKML, linuxppc-dev, linux-next, mingo Arjan van de Ven wrote: > Kamalesh Babulal wrote: >> Thanks for reference of the patch, After replacing the patch with the latest >> one above on the powerpc, the warning still remains >> >> Badness at kernel/notifier.c:86 > > sadly you have something going on that doesn't list the modules loaded etc... > > is this during boot or way later? > (because if it's the later, you might be hitting a legitimate bug ;-) > >> NIP: c000000000081470 LR: c000000000081494 CTR: c00000000005a2d0 >> REGS: c0000021ce0bfaf0 TRAP: 0700 Not tainted (2.6.27-rc4-next-20080826-autotest) >> MSR: 8000000000029032 <EE,ME,IR,DR> CR: 24008042 XER: 00000005 >> TASK = c0000015de080000[1] 'swapper' THREAD: c0000021ce0bc000 CPU: 0 >> GPR00: c000000000081494 c0000021ce0bfd70 c00000000081e940 c000000000749c38 >> GPR04: 0000000000000003 0000000000000001 ffffffffffffffff c0000021ce0bfe90 >> GPR08: ffffffffffffffff ffffffffffffffff c0000000004fd9f0 c0000000004fd9f0 >> GPR12: 0000000024000042 c00000000089c300 0000000002307ef0 c0000000006332a0 >> GPR16: c000000000631f28 c000000000633388 00000000018bf8b0 0000000002700000 >> GPR20: c00000000070b07c c000000000707ef0 c000000000708160 c000000000631c58 >> GPR24: 0000000000000003 0000000000000001 c0000021ce0bfe90 0000000000000000 >> GPR28: ffffffffffffffff c000000000749c20 c0000000007bf338 c000000000749c38 >> NIP [c000000000081470] .notifier_call_chain+0x70/0x140 >> LR [c000000000081494] .notifier_call_chain+0x94/0x140 >> Call Trace: >> [c0000021ce0bfd70] [c000000000081494] .notifier_call_chain+0x94/0x140 (unreliable) >> [c0000021ce0bfe20] [c0000000004fe3fc] .cpu_up+0x10c/0x200 >> [c0000021ce0bfee0] [c0000000006cdcc0] .kernel_init+0x1b0/0x440 >> [c0000021ce0bff90] [c0000000000299cc] .kernel_thread+0x4c/0x68 >> Instruction dump: >> e8630000 2fa30000 419e00f0 2fa60000 419e00e8 2e270000 7c7f1b78 3b600000 >> 48000028 60000000 60000000 60000000 <0fe00000> 2fbd0000 2f3c0000 7fbfeb78 >> This is during the bootup Welcome to yaboot version 1.3.12 Enter "help" to get some basic usage information boot: autotest Please wait, loading kernel... Elf64 kernel loaded... Loading ramdisk... ramdisk loaded at 02700000, size: 846 Kbytes OF stdout device is: /vdevice/vty@30000000 Hypertas detected, assuming LPAR ! command line: root=/dev/sda6 console=hvc0 IDENT=1219851195 memory layout at init: alloc_bottom : 00000000027d4000 alloc_top : 0000000008000000 alloc_top_hi : 0000000100000000 rmo_top : 0000000008000000 ram_top : 0000000100000000 Looking for displays instantiating rtas at 0x00000000076a1000 ... done boot cpu hw idx 0000000000000000 starting cpu hw idx 0000000000000002... done copying OF device tree ... Building dt strings... Building dt structure... Device tree strings 0x00000000028d5000 -> 0x00000000028d637a Device tree struct 0x00000000028d7000 -> 0x00000000028df000 Calling quiesce ... returning from prom_init Using pSeries machine description Found initrd at 0xc000000002700000:0xc0000000027d3800 console [udbg0] enabled Partition configured for 4 cpus. CPU maps initialized for 2 threads per core Starting Linux PPC64 #1 SMP Wed Aug 27 11:25:24 EDT 2008 ----------------------------------------------------- ppc64_pft_size = 0x1a physicalMemorySize = 0x100000000 htab_hash_mask = 0x7ffff ----------------------------------------------------- Initializing cgroup subsys cpuset Linux version 2.6.27-rc4-next-20080826-autotest (root@gekko-lp1.ltc.austin.ibm.com) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-3)) #1 SMP Wed Aug 27 11:25:24 EDT 2008 [boot]0012 Setup Arch PCI host bridge /pci@800000020000002 ranges: IO 0x000003fe00600000..0x000003fe006fffff -> 0x0000000000000000 MEM 0x0000040100000000..0x000004017fffffff -> 0x0000000080000000 EEH: PCI Enhanced I/O Error Handling Enabled PPC64 nvram contains 7168 bytes Zone PFN ranges: DMA 0x00000000 -> 0x00100000 Normal 0x00100000 -> 0x00100000 Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00100000 [boot]0015 Setup Done Built 1 zonelists in Node order, mobility grouping on. Total pages: 1034240 Policy zone: DMA Kernel command line: root=/dev/sda6 console=hvc0 IDENT=1219851195 [boot]0020 XICS Init [boot]0021 XICS Done PID hash table entries: 4096 (order: 12, 32768 bytes) clocksource: timebase mult[10cd746] shift[22] registered Console: colour dummy device 80x25 console handover: boot [udbg0] -> real [hvc0] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes) Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes) freeing bootmem node 0 Memory: 4101404k/4194304k available (7536k kernel code, 92900k reserved, 1108k data, 604k bss, 300k init) SLUB: Genslabs=13, HWalign=128, Order=0-3, MinObjects=0, CPUs=4, Nodes=16 Calibrating delay loop... 475.13 BogoMIPS (lpj=950272) Mount-cache hash table entries: 256 Initializing cgroup subsys ns Initializing cgroup subsys cpuacct ------------[ cut here ]------------ Badness at kernel/notifier.c:86 NIP: c00000000050228c LR: c000000000502274 CTR: c000000000054ffc REGS: c0000000fe06bb10 TRAP: 0700 Not tainted (2.6.27-rc4-next-20080826-autotest) MSR: 8000000000029032 <EE,ME,IR,DR> CR: 44000082 XER: 00000004 TASK = c0000000fe060000[1] 'swapper' THREAD: c0000000fe068000 CPU: 0 GPR00: c000000000502274 c0000000fe06bd90 c000000000873748 c000000000791220 GPR04: 0000000000000003 0000000000000001 ffffffffffffffff c0000000fe06beb0 GPR08: c0000000005075cc c00000000077e0c8 c0000000005075cc c0000000fe068000 GPR12: c0000000008f8300 c0000000008f8300 0000000000000000 0000000000000000 GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000230000 0000000000000000 00000000000d3800 4000000001c00000 GPR24: 0000000000000003 0000000000000001 c0000000fe06beb0 0000000000000000 GPR28: ffffffffffffffff c000000000791208 c00000000080bdc0 c000000000791220 NIP [c00000000050228c] .notifier_call_chain+0x8c/0x138 LR [c000000000502274] .notifier_call_chain+0x74/0x138 Call Trace: [c0000000fe06bd90] [c000000000502274] .notifier_call_chain+0x74/0x138 (unreliable) [c0000000fe06be40] [c000000000507ea0] .cpu_up+0xec/0x204 [c0000000fe06bf00] [c000000000711c58] .kernel_init+0x158/0x384 [c0000000fe06bf90] [c0000000000269a4] .kernel_thread+0x4c/0x68 Instruction dump: 7d2b0038 2c0b0000 418200a4 e87f0000 ebbf0008 4bb6eaf1 60000000 7f04c378 7f25cb78 2fa30000 7fe3fb78 409e0010 <0fe00000> 7fbfeb78 48000050 e93f0000 ------------[ cut here ]------------ Badness at kernel/notifier.c:86 . . . <snip Badness at kernel/notifier.c:86 9 times> . . . ------------[ cut here ]------------ Badness at kernel/notifier.c:86 NIP: c00000000050228c LR: c000000000502274 CTR: 80000000001af404 REGS: c0000000fe06bb10 TRAP: 0700 Tainted: G W (2.6.27-rc4-next-20080826-autotest) MSR: 8000000000029032 <EE,ME,IR,DR> CR: 42000022 XER: 00000004 TASK = c0000000fe060000[1] 'swapper' THREAD: c0000000fe068000 CPU: 0 GPR00: c000000000502274 c0000000fe06bd90 c000000000873748 c000000000791220 GPR04: 0000000000000002 0000000000000001 ffffffffffffffff 0000000000000000 GPR08: c0000000005075cc c00000000077e0c8 c0000000005075cc c0000000fe068000 GPR12: 0000000000004000 c0000000008f8300 0000000000000000 0000000000000000 GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000230000 <1>Unable to handle kernel paging request for data at address 0xffffffffffffffe8 Faulting instruction address: 0xc000000000077fa0 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=128 NUMA pSeries Modules linked in: NIP: c000000000077fa0 LR: c000000000077f84 CTR: c000000000066110 REGS: c00000000fff7af0 TRAP: 0300 Tainted: G W (2.6.27-rc4-next-20080826-autotest) MSR: 8000000000009032 <EE,ME,IR,DR> CR: 28000044 XER: 00000000 DAR: ffffffffffffffe8, DSISR: 0000000040010000 TASK = c0000000fe061160[0] 'swapper' THREAD: c0000000fe080000 CPU: 1 GPR00: c000000000077f84 c00000000fff7d70 c000000000873748 c0000000009b0b70 GPR04: 0000000000000018 0000000000000002 0000000000000000 c000000000759088 GPR08: c00000000088a380 0000000000000000 0000000000000056 c00000000088a380 GPR12: 0000000048000044 c0000000008f8500 0000000000000000 000000000796a428 GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000003 GPR24: 0000000000000001 c0000000009b0c18 c0000000009b0b70 0000000000000000 GPR28: 0000000000000001 c00000000088a188 c00000000080c168 ffffffffffffffc0 NIP [c000000000077fa0] .run_hrtimer_pending+0x4c/0x1c0 LR [c000000000077f84] .run_hrtimer_pending+0x30/0x1c0 Call Trace: [c00000000fff7d70] [c000000000077f84] .run_hrtimer_pending+0x30/0x1c0 (unreliable) [c00000000fff7e20] [c00000000006614c] .run_timer_softirq+0x3c/0x288 [c00000000fff7ef0] [c00000000005f9b4] .__do_softirq+0xac/0x16c [c00000000fff7f90] [c0000000000267e8] .call_do_softirq+0x14/0x24 [c0000000fe0839b0] [c00000000000cd58] .do_softirq+0x94/0x104 [c0000000fe083a50] [c00000000005fb84] .irq_exit+0x70/0xcc [c0000000fe083ad0] [c00000000002352c] .timer_interrupt+0xe0/0x10c [c0000000fe083b60] [c000000000003700] decrementer_common+0x100/0x180 --- Exception: 901 at .raw_local_irq_restore+0x3c/0x40 LR = .cpu_idle+0x12c/0x200 [c0000000fe083e50] [c000000000012fa8] .cpu_idle+0x120/0x200 (unreliable) [c0000000fe083ed0] [c000000000509e34] .start_secondary+0x364/0x3a0 [c0000000fe083f90] [c000000000008364] .start_secondary_prolog+0xc/0x10 Instruction dump: fbe1fff8 3b3a00a8 f8010010 f821ff51 48487a05 60000000 eb7a00a8 7fbbc800 419e012c 3bfbffc0 38a00002 38c00000 <e89f0028> 7fe3fb78 ebbf0020 4bfff925 Kernel panic - not syncing: Fatal exception in interrupt Call Trace: [c00000000fff7810] [c0000000000114b0] .show_stack+0x6c/0x194 (unreliable) [c00000000fff78c0] [c000000000058994] .panic+0x74/0x1cc [c00000000fff7950] [c000000000024a84] .die+0x248/0x28c [c00000000fff7a00] [c00000000002c7b0] .bad_page_fault+0xb8/0xd4 [c00000000fff7a80] [c000000000005218] handle_page_fault+0x3c/0x5c --- Exception: 300 at .run_hrtimer_pending+0x4c/0x1c0 LR = .run_hrtimer_pending+0x30/0x1c0 [c00000000fff7e20] [c00000000006614c] .run_timer_softirq+0x3c/0x288 [c00000000fff7ef0] [c00000000005f9b4] .__do_softirq+0xac/0x16c [c00000000fff7f90] [c0000000000267e8] .call_do_softirq+0x14/0x24 [c0000000fe0839b0] [c00000000000cd58] .do_softirq+0x94/0x104 [c0000000fe083a50] [c00000000005fb84] .irq_exit+0x70/0xcc [c0000000fe083ad0] [c00000000002352c] .timer_interrupt+0xe0/0x10c [c0000000fe083b60] [c000000000003700] decrementer_common+0x100/0x180 --- Exception: 901 at .raw_local_irq_restore+0x3c/0x40 LR = .cpu_idle+0x12c/0x200 [c0000000fe083e50] [c000000000012fa8] .cpu_idle+0x120/0x200 (unreliable) [c0000000fe083ed0] [c000000000509e34] .start_secondary+0x364/0x3a0 [c0000000fe083f90] [c000000000008364] .start_secondary_prolog+0xc/0x10 ------------[ cut here ]------------ Badness at kernel/smp.c:290 NIP: c00000000008595c LR: c000000000085b3c CTR: 0000000000000000 REGS: c00000000fff7410 TRAP: 0700 Tainted: G D W (2.6.27-rc4-next-20080826-autotest) MSR: 8000000000021032 <ME,IR,DR> CR: 22000024 XER: 00000000 TASK = c0000000fe061160[0] 'swapper' THREAD: c0000000fe080000 CPU: 1 f2e10] [c00000000002c7b0] .bad_page_fault+0xb8/0xd4 [c00000000fff2e90] [c000000000005218] handle_page_fault+0x3c/0x5c --- Exception: 300 at .kmem_cache_alloc+0x44/0xdc LR = .smp_call_function_single+0xbc/0x118 [c00000000fff3180] [c000000000085960] .smp_call_function_mask+0x60/0x208 (unreliable) [c00000000fff3220] [c00000000008587c] .smp_call_function_single+0xbc/0x118 [c00000000fff3310] [c000000000085a0c] .smp_call_function_mask+0x10c/0x208 [c00000000fff3440] [c000000000085b3c] .smp_call_function+0x34/0x48 [c00000000fff34c0] [c000000000028848] .smp_send_stop+0x24/0x3c [c00000000fff3540] [c0000000000589b4] .panic+0x94/0x1cc [c00000000fff35d0] [c000000000024a84] .die+0x248/0x28c [c00000000fff3680] [c00000000002c7b0] .bad_page_fault+0xb8/0xd4 [c00000000fff3700] [c000000000005218] handle_page_fault+0x3c/0x5c --- Exception: 300 at .kmem_cache_alloc+0x44/0xdc LR = .smp_call_function_single+0xbc/0x118 [c00000000fff39f0] [c000000000085960] .smp_call_function_mask+0x60/0x208 (unreliable) [c00000000fff3a90] [c00000000008587c] .smp_call_function_single+0xbc/0x118 [c00000000fff3b80] [c000000000085a0c] .smp_call_function_mask+0x10c/0x208 [c00000000fff3cb0] [c000000000085b3c] .smp_call_function+0x34/0x48 [c00000000fff3d30] [c000000000028848] .smp_send_stop+0x24/0x3c [c00000000fff3db0] [c0000000000589b4] .panic+0x94/0x1cc [c00000000fff3e40] [c000000000024a84] .die+0x248/0x28c [c00000000fff3ef0] [c00000000002c7b0] .bad_page_fault+0xb8/0xd4 [c00000000fff3f70] [c000000000005218] handle_page_fault+0x3c/0x5c ------------[ cut here ]------------ Badness at kernel/smp.c:290 NIP: c00000000008595c LR: c000000000085b3c CTR: 0000000000000000 REGS: c00000000fff2820 TRAP: 0700 Tainted: G D W (2.6.27-rc4-next-20080826-autotest) MSR: 8000000000021032 <ME,IR,DR> CR: 22000024 XER: 00000000 TASK = c0000000fe061160[0] 'swapper' THREAD: c0000000fe080000 CPU: 1 GPR00: 0000000000000001 c00000000fff2aa0 c000000000873748 0000000000000003 GPR04: 0000000000000000 c000000000828930 0000000000000000 0000000000000000 GPR08: c00000000fff4260 0000000000000000 0000000000000001 0000000000000001 GPR12: 0000000022000082 c0000000008f8500 0000000000000000 000000000796a428 GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000003 GPR24: 0000000000000001 000000000000000b 0000000000000000 c000000000828930 GPR28: 0000000000000000 c0000000006626b0 c00000000080d0e8 0000000000000000 NIP [c00000000008595c] .smp_call_function_mask+0x5c/0x208 LR [c000000000085b3c] .smp_call_function+0x34/0x48 Call Trace: [c00000000fff2aa0] [c000000000059cdc] .try_acquire_console_sem+0x1c/0x5c (unreliable) [c00000000fff2bd0] [c000000000085b3c] .smp_call_function+0x34/0x48 [c00000000fff2c50] [c000000000028848] .smp_send_stop+0x24/0x3c [c00000000fff2cd0] [c0000000000589b4] .panic+0x94/0x1cc [c00000000fff2d60] [c000000000024a84] .die+0x248/0x28c [c00000000fff2e10] [c00000000002c7b0] .bad_page_fault+0xb8/0xd4 [c00000000fff2e90] [c000000000005218] handle_page_fault+0x3c/0x5c --- Exception: 300 at .kmem_cache_alloc+0x44/0xdc LR = .smp_call_function_single+0xbc/0x118 [c00000000fff3180] [c000000000085960] .smp_call_function_mask+0x60/0x208 (unreliable) [c00000000fff3220] [c00000000008587c] .smp_call_function_single+0xbc/0x118 [c00000000fff3310] [c000000000085a0c] .smp_call_function_mask+0x10c/0x208 [c00000000fff3440] [c000000000085b3c] .smp_call_function+0x34/0x48 [c00000000fff34c0] [c000000000028848] .smp_send_stop+0x24/0x3c [c00000000fff3540] [c0000000000589b4] .panic+0x94/0x1cc [c00000000fff35d0] [c000000000024a84] .die+0x248/0x28c [c00000000fff3680] [c00000000002c7b0] .bad_page_fault+0xb8/0xd4 [c00000000fff3700] [c000000000005218] handle_page_fault+0x3c/0x5c --- Exception: 300 at .kmem_cache_alloc+0x44/0xdc LR = .smp_call_function_single+0xbc/0x118 [c00000000fff39f0] [c000000000085960] .smp_call_function_mask+0x60/0x208 (unreliable) [c00000000fff3a90] [c00000000008587c] .smp_call_function_single+0xbc/0x118 [c00000000fff3b80] [c000000000085a0c] .smp_call_function_mask+0x10c/0x208 [c00000000fff3cb0] [c000000000085b3c] .smp_call_function+0x34/0x48 [c00000000fff3d30] [c000000000028848] .smp_send_stop+0x24/0x3c [c00000000fff3db0] [c0000000000589b4] .panic+0x94/0x1cc [c00000000fff3e40] [c000000000024a84] .die+0x248/0x28c [c00000000fff3ef0] [c00000000002c7b0] .bad_page_fault+0xb8/0xd4 [c00000000fff3f70] [c000000000005218] handle_page_fault+0x3c/0x5c Instruction dump: 7cfc3b78 f821fed1 60000000 60000000 e8010000 f8610160 f8810168 f82100e8 f80100e0 880d01da 21200000 7c090114 <0b000000> a14d000a e93e8040 38a100c0 ------------[ cut here ]------------ Badness at kernel/smp.c:216 NIP: c00000000008580c LR: c000000000085a0c CTR: 0000000000000000 REGS: c00000000fff2730 TRAP: 0700 Tainted: G D W (2.6.27-rc4-next-20080826-autotest) MSR: 8000000000021032 <ME,IR,DR> CR: 42000028 XER: 00000000 TASK = c0000000fe061160[0] 'swapper' THREAD: c0000000fe080000 CPU: 1 GPR00: 0000000000000001 c00000000fff29b0 c000000000873748 0000000000000000 GPR04: c000000000828930 0000000000000000 0000000000000000 0000000000000000 GPR08: c00000000fff2c00 0000000000000001 0000000000000040 0000000000000000 GPR12: 0000000022000082 c0000000008f8500 0000000000000000 000000000796a428 GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000003 GPR24: 0000000000000001 000000000000000b 0000000000000000 c000000000828930 GPR28: 0000000000000000 c000000000828930 c00000000080d0e8 0000000000000000 NIP [c00000000008580c] .smp_call_function_single+0x4c/0x118 LR [c000000000085a0c] .smp_call_function_mask+0x10c/0x208 Call Trace: [c00000000fff29b0] [c000000000934368] printk_buf+0x0/0x400 (unreliable) [c00000000fff2aa0] [c000000000085a0c] .smp_call_function_mask+0x10c/0x208 [c00000000fff2bd0] [c000000000085b3c] .smp_call_function+0x34/0x48 [c00000000fff2c50] [c000000000028848] .smp_send_stop+0x24/0x3c [c00000000fff2cd0] [c0000000000589b4] .panic+0x94/0x1cc [c00000000fff2d60] [c000000000024a84] .die+0x248/0x28c [c00000000fff2e10] [c00000000002c7b0] .bad_page_fault+0xb8/0xd4 [c00000000fff2e90] [c000000000005218] handle_page_fault+0x3c/0x5c --- Exception: 300 at .kmem_cache_alloc+0x44/0xdc LR = .smp_call_function_single+0xbc/0x118 [c00000000fff3180] [c000000000085960] .smp_call_function_mask+0x60/0x208 (unreliable) [c00000000fff3220] [c00000000008587c] .smp_call_function_single+0xbc/0x118 [c00000000fff3310] [c000000000085a0c] .smp_call_function_mask+0x10c/0x208 [c00000000fff3440] [c000000000085b3c] .smp_call_function+0x34/0x48 [c00000000fff34c0] [c000000000028848] .smp_send_stop+0x24/0x3c [c00000000fff3540] [c0000000000589b4] .panic+0x94/0x1cc [c00000000fff35d0] [c000000000024a84] .die+0x248000000000000001 0000000000000040 0000000000000000 GPR12: 0000000022000082 c0000000008f8500 0000000000000000 000000000796a428 GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000003 GPR24: 0000000000000001 000000000000000b 0000000000000000 c000000000828930 GPR28: 0000000000000000 c000000000828930 c00000000080d0e8 0000000000000000 NIP [c00000000008580c] .smp_call_function_single+0x4c/0x118 LR [c000000000085a0c] .smp_call_function_mask+0x10c/0x208 Call Trace: Instruction dump: 7c9d2378 f8010010 f821ff11 7cbc2b78 e8010000 f82100b8 f80100b0 60000000 a12d000a 880d01da 21600000 7c0b0114 <0b000000> 7f834800 409e0050 38000000 Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc0000000000e35b8 Oops: Kernel access of bad area, sig: 11 [#27] SMP NR_CPUS=128 NUMA pSeries Modules linked in: NIP: c0000000000e35b8 LR: c00000000008587c CTR: 0000000000000000 REGS: c00000000ffe99e0 TRAP: 0300 Tainted: G D W (2.6.27-rc4-next-20080826-autotest) MSR: 8000000000001032 <ME,IR,DR> CR: 42000022 XER: 00000000 DAR: 0000000000000000, DSISR: 0000000040000000 TASK = c0000000fe061160[0] 'swapper' THREAD: c0000000fe080000 CPU: 1 GPR00: c00000000008587c c00000000ffe9c60 c000000000873748 c0000000008ec630 GPR04: 0000000000000020 ffffffffffffffff c00000000008587c 0000000000000000 GPR08: c00000000ffe9f50 0000000000000000 0000000000000040 0000000000000000 GPR12: 0000000022000082 c0000000008f8500 0000000000000000 000000000796a428 GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000003 GPR24: 0000000000000001 000000000000000b 0000000000000000 0000000000000020 GPR28: 0000000000000000 0000000000000000 c00000000080d0e8 0000000000000000 NIP [c0000000000e35b8] .kmem_cache_alloc+0x44/0xdc LR [c00000000008587c] .smp_call_function_single+0xbc/0x118 Call Trace: Instruction dump: 7c9b2378 f8010010 f821ff61 39200000 8bad01da 992d01da 7cc802a6 a12d000a 38a0ffff 79291f24 7d291a14 e9290188 <e8090000> 7d274b78 83890018 2fa00000 Kernel panic - not syncing: Fatal exception in interrupt Call Trace: . . <snip> The Badness at kernel/smp.c:290 and Badness at kernel/smp.c:216 goes on in an loop. -- Thanks & Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2008-08-28 17:19 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20080826184008.6be39f19.sfr@canb.auug.org.au> 2008-08-26 18:27 ` [BUG] linux-next: Tree for August 26 - Badness at kernel/notifier.c:25 Kamalesh Babulal 2008-08-26 20:22 ` Arjan van de Ven 2008-08-27 11:12 ` Kamalesh Babulal 2008-08-27 13:48 ` Arjan van de Ven 2008-08-27 14:33 ` Stephen Rothwell 2008-08-27 14:38 ` Stephen Rothwell 2008-08-28 14:23 ` David Woodhouse 2008-08-28 14:55 ` David Woodhouse 2008-08-28 17:14 ` Milton Miller 2008-08-27 17:52 ` Kamalesh Babulal
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).