diff options
Diffstat (limited to 'arch/arm/kernel')
| -rw-r--r-- | arch/arm/kernel/perf_callchain.c | 28 | ||||
| -rw-r--r-- | arch/arm/kernel/signal.c | 2 | ||||
| -rw-r--r-- | arch/arm/kernel/smp.c | 3 | ||||
| -rw-r--r-- | arch/arm/kernel/traps.c | 10 | 
4 files changed, 11 insertions, 32 deletions
| diff --git a/arch/arm/kernel/perf_callchain.c b/arch/arm/kernel/perf_callchain.c index 3b69a76d341e..bc6b246ab55e 100644 --- a/arch/arm/kernel/perf_callchain.c +++ b/arch/arm/kernel/perf_callchain.c @@ -64,11 +64,6 @@ perf_callchain_user(struct perf_callchain_entry_ctx *entry, struct pt_regs *regs  {  	struct frame_tail __user *tail; -	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) { -		/* We don't support guest os callchain now */ -		return; -	} -  	perf_callchain_store(entry, regs->ARM_pc);  	if (!current->mm) @@ -100,20 +95,12 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re  {  	struct stackframe fr; -	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) { -		/* We don't support guest os callchain now */ -		return; -	} -  	arm_get_current_stackframe(regs, &fr);  	walk_stackframe(&fr, callchain_trace, entry);  }  unsigned long perf_instruction_pointer(struct pt_regs *regs)  { -	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) -		return perf_guest_cbs->get_guest_ip(); -  	return instruction_pointer(regs);  } @@ -121,17 +108,10 @@ unsigned long perf_misc_flags(struct pt_regs *regs)  {  	int misc = 0; -	if (perf_guest_cbs && perf_guest_cbs->is_in_guest()) { -		if (perf_guest_cbs->is_user_mode()) -			misc |= PERF_RECORD_MISC_GUEST_USER; -		else -			misc |= PERF_RECORD_MISC_GUEST_KERNEL; -	} else { -		if (user_mode(regs)) -			misc |= PERF_RECORD_MISC_USER; -		else -			misc |= PERF_RECORD_MISC_KERNEL; -	} +	if (user_mode(regs)) +		misc |= PERF_RECORD_MISC_USER; +	else +		misc |= PERF_RECORD_MISC_KERNEL;  	return misc;  } diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index a41e27ace391..c532a6041066 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c @@ -631,7 +631,7 @@ do_work_pending(struct pt_regs *regs, unsigned int thread_flags, int syscall)  			}  		}  		local_irq_disable(); -		thread_flags = current_thread_info()->flags; +		thread_flags = read_thread_flags();  	} while (thread_flags & _TIF_WORK_MASK);  	return 0;  } diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c index cde5b6d8bac5..97ee6b1567e9 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c @@ -154,9 +154,6 @@ int __cpu_up(unsigned int cpu, struct task_struct *idle)  	secondary_data.swapper_pg_dir = get_arch_pgd(swapper_pg_dir);  #endif  	secondary_data.task = idle; -	if (IS_ENABLED(CONFIG_THREAD_INFO_IN_TASK)) -		task_thread_info(idle)->cpu = cpu; -  	sync_cache_w(&secondary_data);  	/* diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index 195dff58bafc..da04ed85855a 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -67,12 +67,14 @@ void dump_backtrace_entry(unsigned long where, unsigned long from,  {  	unsigned long end = frame + 4 + sizeof(struct pt_regs); -#ifdef CONFIG_KALLSYMS +#ifndef CONFIG_KALLSYMS +	printk("%sFunction entered at [<%08lx>] from [<%08lx>]\n", +		loglvl, where, from); +#elif defined CONFIG_BACKTRACE_VERBOSE  	printk("%s[<%08lx>] (%ps) from [<%08lx>] (%pS)\n",  		loglvl, where, (void *)where, from, (void *)from);  #else -	printk("%sFunction entered at [<%08lx>] from [<%08lx>]\n", -		loglvl, where, from); +	printk("%s %ps from %pS\n", loglvl, (void *)where, (void *)from);  #endif  	if (in_entry_text(from) && end <= ALIGN(frame, THREAD_SIZE)) @@ -333,7 +335,7 @@ static void oops_end(unsigned long flags, struct pt_regs *regs, int signr)  	if (panic_on_oops)  		panic("Fatal exception");  	if (signr) -		do_exit(signr); +		make_task_dead(signr);  }  /* |