diff options
author | Roman Zippel <zippel@linux-m68k.org> | 2007-05-09 05:35:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 15:30:56 -0400 |
commit | c9f4f06d3191bd91c1a081b54a6c8e913e7b8a83 (patch) | |
tree | fe6bb926f612e67b1e57c6a448c7e5d41dd69dad /arch | |
parent | e61a1c1c4f240cec61300c8f27518c3e47570fd4 (diff) |
wrap access to thread_info
Recently a few direct accesses to the thread_info in the task structure snuck
back, so this wraps them with the appropriate wrapper.
Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/avr32/kernel/process.c | 6 | ||||
-rw-r--r-- | arch/avr32/kernel/ptrace.c | 2 | ||||
-rw-r--r-- | arch/blackfin/kernel/asm-offsets.c | 2 | ||||
-rw-r--r-- | arch/i386/kernel/traps.c | 2 | ||||
-rw-r--r-- | arch/m68knommu/kernel/asm-offsets.c | 2 | ||||
-rw-r--r-- | arch/mips/kernel/smtc.c | 2 | ||||
-rw-r--r-- | arch/x86_64/kernel/irq.c | 2 |
7 files changed, 9 insertions, 9 deletions
diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c index 4e4181ed1c6d..13f988402613 100644 --- a/arch/avr32/kernel/process.c +++ b/arch/avr32/kernel/process.c | |||
@@ -330,13 +330,13 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp, | |||
330 | { | 330 | { |
331 | struct pt_regs *childregs; | 331 | struct pt_regs *childregs; |
332 | 332 | ||
333 | childregs = ((struct pt_regs *)(THREAD_SIZE + (unsigned long)p->thread_info)) - 1; | 333 | childregs = ((struct pt_regs *)(THREAD_SIZE + (unsigned long)task_stack_page(p))) - 1; |
334 | *childregs = *regs; | 334 | *childregs = *regs; |
335 | 335 | ||
336 | if (user_mode(regs)) | 336 | if (user_mode(regs)) |
337 | childregs->sp = usp; | 337 | childregs->sp = usp; |
338 | else | 338 | else |
339 | childregs->sp = (unsigned long)p->thread_info + THREAD_SIZE; | 339 | childregs->sp = (unsigned long)task_stack_page(p) + THREAD_SIZE; |
340 | 340 | ||
341 | childregs->r12 = 0; /* Set return value for child */ | 341 | childregs->r12 = 0; /* Set return value for child */ |
342 | 342 | ||
@@ -403,7 +403,7 @@ unsigned long get_wchan(struct task_struct *p) | |||
403 | if (!p || p == current || p->state == TASK_RUNNING) | 403 | if (!p || p == current || p->state == TASK_RUNNING) |
404 | return 0; | 404 | return 0; |
405 | 405 | ||
406 | stack_page = (unsigned long)p->thread_info; | 406 | stack_page = (unsigned long)task_stack_page(p); |
407 | BUG_ON(!stack_page); | 407 | BUG_ON(!stack_page); |
408 | 408 | ||
409 | /* | 409 | /* |
diff --git a/arch/avr32/kernel/ptrace.c b/arch/avr32/kernel/ptrace.c index 8ac74dddbbde..3c36c2d16148 100644 --- a/arch/avr32/kernel/ptrace.c +++ b/arch/avr32/kernel/ptrace.c | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | static struct pt_regs *get_user_regs(struct task_struct *tsk) | 25 | static struct pt_regs *get_user_regs(struct task_struct *tsk) |
26 | { | 26 | { |
27 | return (struct pt_regs *)((unsigned long) tsk->thread_info + | 27 | return (struct pt_regs *)((unsigned long)task_stack_page(tsk) + |
28 | THREAD_SIZE - sizeof(struct pt_regs)); | 28 | THREAD_SIZE - sizeof(struct pt_regs)); |
29 | } | 29 | } |
30 | 30 | ||
diff --git a/arch/blackfin/kernel/asm-offsets.c b/arch/blackfin/kernel/asm-offsets.c index 41d9a9f89700..e455f4504509 100644 --- a/arch/blackfin/kernel/asm-offsets.c +++ b/arch/blackfin/kernel/asm-offsets.c | |||
@@ -46,7 +46,7 @@ int main(void) | |||
46 | DEFINE(TASK_PTRACE, offsetof(struct task_struct, ptrace)); | 46 | DEFINE(TASK_PTRACE, offsetof(struct task_struct, ptrace)); |
47 | DEFINE(TASK_BLOCKED, offsetof(struct task_struct, blocked)); | 47 | DEFINE(TASK_BLOCKED, offsetof(struct task_struct, blocked)); |
48 | DEFINE(TASK_THREAD, offsetof(struct task_struct, thread)); | 48 | DEFINE(TASK_THREAD, offsetof(struct task_struct, thread)); |
49 | DEFINE(TASK_THREAD_INFO, offsetof(struct task_struct, thread_info)); | 49 | DEFINE(TASK_THREAD_INFO, offsetof(struct task_struct, stack)); |
50 | DEFINE(TASK_MM, offsetof(struct task_struct, mm)); | 50 | DEFINE(TASK_MM, offsetof(struct task_struct, mm)); |
51 | DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); | 51 | DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); |
52 | DEFINE(TASK_SIGPENDING, offsetof(struct task_struct, pending)); | 52 | DEFINE(TASK_SIGPENDING, offsetof(struct task_struct, pending)); |
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 4bec0cbf407a..c05e7e861b29 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -305,7 +305,7 @@ void show_registers(struct pt_regs *regs) | |||
305 | regs->xds & 0xffff, regs->xes & 0xffff, regs->xfs & 0xffff, gs, ss); | 305 | regs->xds & 0xffff, regs->xes & 0xffff, regs->xfs & 0xffff, gs, ss); |
306 | printk(KERN_EMERG "Process %.*s (pid: %d, ti=%p task=%p task.ti=%p)", | 306 | printk(KERN_EMERG "Process %.*s (pid: %d, ti=%p task=%p task.ti=%p)", |
307 | TASK_COMM_LEN, current->comm, current->pid, | 307 | TASK_COMM_LEN, current->comm, current->pid, |
308 | current_thread_info(), current, current->thread_info); | 308 | current_thread_info(), current, task_thread_info(current)); |
309 | /* | 309 | /* |
310 | * When in-kernel, we also print out the stack and code at the | 310 | * When in-kernel, we also print out the stack and code at the |
311 | * time of the fault.. | 311 | * time of the fault.. |
diff --git a/arch/m68knommu/kernel/asm-offsets.c b/arch/m68knommu/kernel/asm-offsets.c index b988c7bdc6e4..7cd183d346ef 100644 --- a/arch/m68knommu/kernel/asm-offsets.c +++ b/arch/m68knommu/kernel/asm-offsets.c | |||
@@ -31,7 +31,7 @@ int main(void) | |||
31 | DEFINE(TASK_PTRACE, offsetof(struct task_struct, ptrace)); | 31 | DEFINE(TASK_PTRACE, offsetof(struct task_struct, ptrace)); |
32 | DEFINE(TASK_BLOCKED, offsetof(struct task_struct, blocked)); | 32 | DEFINE(TASK_BLOCKED, offsetof(struct task_struct, blocked)); |
33 | DEFINE(TASK_THREAD, offsetof(struct task_struct, thread)); | 33 | DEFINE(TASK_THREAD, offsetof(struct task_struct, thread)); |
34 | DEFINE(TASK_THREAD_INFO, offsetof(struct task_struct, thread_info)); | 34 | DEFINE(TASK_THREAD_INFO, offsetof(struct task_struct, stack)); |
35 | DEFINE(TASK_MM, offsetof(struct task_struct, mm)); | 35 | DEFINE(TASK_MM, offsetof(struct task_struct, mm)); |
36 | DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); | 36 | DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); |
37 | 37 | ||
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c index 5dcfab6b288e..b361edb83dc6 100644 --- a/arch/mips/kernel/smtc.c +++ b/arch/mips/kernel/smtc.c | |||
@@ -560,7 +560,7 @@ void smtc_boot_secondary(int cpu, struct task_struct *idle) | |||
560 | write_tc_gpr_sp(__KSTK_TOS(idle)); | 560 | write_tc_gpr_sp(__KSTK_TOS(idle)); |
561 | 561 | ||
562 | /* global pointer */ | 562 | /* global pointer */ |
563 | write_tc_gpr_gp((unsigned long)idle->thread_info); | 563 | write_tc_gpr_gp((unsigned long)task_thread_info(idle)); |
564 | 564 | ||
565 | smtc_status |= SMTC_MTC_ACTIVE; | 565 | smtc_status |= SMTC_MTC_ACTIVE; |
566 | write_tc_c0_tchalt(0); | 566 | write_tc_c0_tchalt(0); |
diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c index 3bc30d2c13d3..3eaceac32481 100644 --- a/arch/x86_64/kernel/irq.c +++ b/arch/x86_64/kernel/irq.c | |||
@@ -32,7 +32,7 @@ atomic_t irq_err_count; | |||
32 | */ | 32 | */ |
33 | static inline void stack_overflow_check(struct pt_regs *regs) | 33 | static inline void stack_overflow_check(struct pt_regs *regs) |
34 | { | 34 | { |
35 | u64 curbase = (u64) current->thread_info; | 35 | u64 curbase = (u64)task_stack_page(current); |
36 | static unsigned long warned = -60*HZ; | 36 | static unsigned long warned = -60*HZ; |
37 | 37 | ||
38 | if (regs->rsp >= curbase && regs->rsp <= curbase + THREAD_SIZE && | 38 | if (regs->rsp >= curbase && regs->rsp <= curbase + THREAD_SIZE && |