public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: constify stacktrace_ops
@ 2007-09-10 13:02 Jan Beulich
  2007-09-16 10:18 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: Jan Beulich @ 2007-09-10 13:02 UTC (permalink / raw)
  To: Andi Kleen; +Cc: linux-kernel

.. as they're never written to.

Signed-off-by: Jan Beulich <jbeulich@novell.com>

 arch/i386/kernel/traps.c        |    6 +++---
 arch/x86_64/kernel/stacktrace.c |    2 +-
 arch/x86_64/kernel/traps.c      |    4 ++--
 include/asm-x86_64/stacktrace.h |    2 +-
 4 files changed, 7 insertions(+), 7 deletions(-)

--- linux-2.6.23-rc5/arch/i386/kernel/traps.c	2007-09-07 16:44:45.000000000 +0200
+++ 2.6.23-rc5-x86-const-stacktrace_ops/arch/i386/kernel/traps.c	2007-08-28 17:39:12.000000000 +0200
@@ -114,7 +114,7 @@ struct stack_frame {
 
 static inline unsigned long print_context_stack(struct thread_info *tinfo,
 				unsigned long *stack, unsigned long ebp,
-				struct stacktrace_ops *ops, void *data)
+				const struct stacktrace_ops *ops, void *data)
 {
 #ifdef	CONFIG_FRAME_POINTER
 	struct stack_frame *frame = (struct stack_frame *)ebp;
@@ -151,7 +151,7 @@ static inline unsigned long print_contex
 
 void dump_trace(struct task_struct *task, struct pt_regs *regs,
 	        unsigned long *stack,
-		struct stacktrace_ops *ops, void *data)
+		const struct stacktrace_ops *ops, void *data)
 {
 	unsigned long ebp = 0;
 
@@ -223,7 +223,7 @@ static void print_trace_address(void *da
 	touch_nmi_watchdog();
 }
 
-static struct stacktrace_ops print_trace_ops = {
+static const struct stacktrace_ops print_trace_ops = {
 	.warning = print_trace_warning,
 	.warning_symbol = print_trace_warning_symbol,
 	.stack = print_trace_stack,
--- linux-2.6.23-rc5/arch/x86_64/kernel/stacktrace.c	2007-07-09 01:32:17.000000000 +0200
+++ 2.6.23-rc5-x86-const-stacktrace_ops/arch/x86_64/kernel/stacktrace.c	2007-08-28 17:38:06.000000000 +0200
@@ -35,7 +35,7 @@ static void save_stack_address(void *dat
 		trace->entries[trace->nr_entries++] = addr;
 }
 
-static struct stacktrace_ops save_stack_ops = {
+static const struct stacktrace_ops save_stack_ops = {
 	.warning = save_stack_warning,
 	.warning_symbol = save_stack_warning_symbol,
 	.stack = save_stack_stack,
--- linux-2.6.23-rc5/arch/x86_64/kernel/traps.c	2007-09-07 16:45:27.000000000 +0200
+++ 2.6.23-rc5-x86-const-stacktrace_ops/arch/x86_64/kernel/traps.c	2007-08-28 17:38:39.000000000 +0200
@@ -217,7 +217,7 @@ static inline int valid_stack_ptr(struct
 
 void dump_trace(struct task_struct *tsk, struct pt_regs *regs,
 		unsigned long *stack,
-		struct stacktrace_ops *ops, void *data)
+		const struct stacktrace_ops *ops, void *data)
 {
 	const unsigned cpu = get_cpu();
 	unsigned long *irqstack_end = (unsigned long*)cpu_pda(cpu)->irqstackptr;
@@ -338,7 +338,7 @@ static void print_trace_address(void *da
 	printk_address(addr);
 }
 
-static struct stacktrace_ops print_trace_ops = {
+static const struct stacktrace_ops print_trace_ops = {
 	.warning = print_trace_warning,
 	.warning_symbol = print_trace_warning_symbol,
 	.stack = print_trace_stack,
--- linux-2.6.23-rc5/include/asm-x86_64/stacktrace.h	2007-02-04 19:44:54.000000000 +0100
+++ 2.6.23-rc5-x86-const-stacktrace_ops/include/asm-x86_64/stacktrace.h	2007-08-28 17:37:55.000000000 +0200
@@ -15,6 +15,6 @@ struct stacktrace_ops {
 };
 
 void dump_trace(struct task_struct *tsk, struct pt_regs *regs, unsigned long *stack,
-		struct stacktrace_ops *ops, void *data);
+		const struct stacktrace_ops *ops, void *data);
 
 #endif




^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] x86: constify stacktrace_ops
  2007-09-10 13:02 [PATCH] x86: constify stacktrace_ops Jan Beulich
@ 2007-09-16 10:18 ` Andrew Morton
  2007-09-17  8:58   ` Jan Beulich
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2007-09-16 10:18 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Andi Kleen, linux-kernel

On Mon, 10 Sep 2007 14:02:17 +0100 "Jan Beulich" <jbeulich@novell.com> wrote:

> .. as they're never written to.

arch/i386/kernel/traps.c: In function 'dump_trace':
arch/i386/kernel/traps.c:197: warning: initialization discards qualifiers from pointer target type

Due to

                struct ops_and_data oad = { .ops = ops, .data = data };

messy to fix.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] x86: constify stacktrace_ops
  2007-09-16 10:18 ` Andrew Morton
@ 2007-09-17  8:58   ` Jan Beulich
  0 siblings, 0 replies; 3+ messages in thread
From: Jan Beulich @ 2007-09-17  8:58 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Andi Kleen, linux-kernel

>>> Andrew Morton <akpm@linux-foundation.org> 16.09.07 12:18 >>>
>On Mon, 10 Sep 2007 14:02:17 +0100 "Jan Beulich" <jbeulich@novell.com> wrote:
>
>> .. as they're never written to.
>
>arch/i386/kernel/traps.c: In function 'dump_trace':
>arch/i386/kernel/traps.c:197: warning: initialization discards qualifiers from pointer target type
>
>Due to
>
>                struct ops_and_data oad = { .ops = ops, .data = data };
>
>messy to fix.

Not really - 'struct ops_and_data' can simply have its 'ops' member also be
declared 'struct stacktrace_ops *'. I actually have the patch this way here,
but since I generally submit patches against Linus' tree, I had to rip out
these hunks, since the structure gets added with the unwinder patch.

Jan


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-09-17  9:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-10 13:02 [PATCH] x86: constify stacktrace_ops Jan Beulich
2007-09-16 10:18 ` Andrew Morton
2007-09-17  8:58   ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox