···438 break;439440 case PTRACE_GET_THREAD_AREA:441- ret = put_user(child->thread_info->tp_value,442 (unsigned long __user *) data);443 break;444
···438 break;439440 case PTRACE_GET_THREAD_AREA:441+ ret = put_user(task_thread_info(child)->tp_value,442 (unsigned long __user *) data);443 break;444
+2-2
arch/mips/kernel/ptrace32.c
···375 break;376377 case PTRACE_GET_THREAD_AREA:378- ret = put_user(child->thread_info->tp_value,379 (unsigned int __user *) (unsigned long) data);380 break;381···389 break;390391 case PTRACE_GET_THREAD_AREA_3264:392- ret = put_user(child->thread_info->tp_value,393 (unsigned long __user *) (unsigned long) data);394 break;395
···375 break;376377 case PTRACE_GET_THREAD_AREA:378+ ret = put_user(task_thread_info(child)->tp_value,379 (unsigned int __user *) (unsigned long) data);380 break;381···389 break;390391 case PTRACE_GET_THREAD_AREA_3264:392+ ret = put_user(task_thread_info(child)->tp_value,393 (unsigned long __user *) (unsigned long) data);394 break;395
+3-4
arch/mips/kernel/smp_mt.c
···287 */288void prom_boot_secondary(int cpu, struct task_struct *idle)289{0290 dvpe();291 set_c0_mvpcontrol(MVPCONTROL_VPC);292···308 write_tc_gpr_sp( __KSTK_TOS(idle));309310 /* global pointer */311- write_tc_gpr_gp((unsigned long)idle->thread_info);312313- flush_icache_range((unsigned long)idle->thread_info,314- (unsigned long)idle->thread_info +315- sizeof(struct thread_info));316317 /* finally out of configuration and into chaos */318 clear_c0_mvpcontrol(MVPCONTROL_VPC);
···287 */288void prom_boot_secondary(int cpu, struct task_struct *idle)289{290+ struct thread_info *gp = task_thread_info(idle);291 dvpe();292 set_c0_mvpcontrol(MVPCONTROL_VPC);293···307 write_tc_gpr_sp( __KSTK_TOS(idle));308309 /* global pointer */310+ write_tc_gpr_gp((unsigned long)gp);311312+ flush_icache_range((unsigned long)gp, (unsigned long)(gp + 1));00313314 /* finally out of configuration and into chaos */315 clear_c0_mvpcontrol(MVPCONTROL_VPC);