提交 b154886f 编写于 作者: Z Zhizhou Zhang 提交者: Catalin Marinas

arm64: make secondary_start_kernel() notrace

We can't call function trace hook before setup percpu offset.
When entering secondary_start_kernel(), percpu offset has not
been initialized.  So this lead hotplug malfunction.
Here is the flow to reproduce this bug:

echo 0 > /sys/devices/system/cpu/cpu1/online
echo function > /sys/kernel/debug/tracing/current_tracer
echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 1 > /sys/devices/system/cpu/cpu1/online
Acked-by: NMark Rutland <mark.rutland@arm.com>
Tested-by: NSuzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: NZhizhou Zhang <zhizhouzhang@asrmicro.com>
Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
上级 dd65a941
......@@ -179,7 +179,7 @@ int __cpu_up(unsigned int cpu, struct task_struct *idle)
* This is the secondary CPU boot entry. We're using this CPUs
* idle thread stack, but a set of temporary page tables.
*/
asmlinkage void secondary_start_kernel(void)
asmlinkage notrace void secondary_start_kernel(void)
{
u64 mpidr = read_cpuid_mpidr() & MPIDR_HWID_BITMASK;
struct mm_struct *mm = &init_mm;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册