mirror of https://gitee.com/openkylin/linux.git
x86/mce: Rename kill_it to kill_current_task
Currently, if an MCE happens in user-mode or while the kernel is copying data from user space, 'kill_it' is used to check if execution of the interrupted task can be recovered or not; the flag name however is not very meaningful, hence rename it to match its goal. [ bp: Massage commit message, rename the queue_task_work() arg too. ] Signed-off-by: Gabriele Paoloni <gabriele.paoloni@intel.com> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20201127161819.3106432-6-gabriele.paoloni@intel.com
This commit is contained in:
parent
d5b38e3d0f
commit
e1c06d2366
|
@ -1266,14 +1266,14 @@ static void kill_me_maybe(struct callback_head *cb)
|
|||
}
|
||||
}
|
||||
|
||||
static void queue_task_work(struct mce *m, int kill_it)
|
||||
static void queue_task_work(struct mce *m, int kill_current_task)
|
||||
{
|
||||
current->mce_addr = m->addr;
|
||||
current->mce_kflags = m->kflags;
|
||||
current->mce_ripv = !!(m->mcgstatus & MCG_STATUS_RIPV);
|
||||
current->mce_whole_page = whole_page(m);
|
||||
|
||||
if (kill_it)
|
||||
if (kill_current_task)
|
||||
current->mce_kill_me.func = kill_me_now;
|
||||
else
|
||||
current->mce_kill_me.func = kill_me_maybe;
|
||||
|
@ -1321,10 +1321,10 @@ noinstr void do_machine_check(struct pt_regs *regs)
|
|||
int no_way_out = 0;
|
||||
|
||||
/*
|
||||
* If kill_it gets set, there might be a way to recover from this
|
||||
* If kill_current_task is not set, there might be a way to recover from this
|
||||
* error.
|
||||
*/
|
||||
int kill_it = 0;
|
||||
int kill_current_task = 0;
|
||||
|
||||
/*
|
||||
* MCEs are always local on AMD. Same is determined by MCG_STATUS_LMCES
|
||||
|
@ -1351,7 +1351,7 @@ noinstr void do_machine_check(struct pt_regs *regs)
|
|||
* severity is MCE_AR_SEVERITY we have other options.
|
||||
*/
|
||||
if (!(m.mcgstatus & MCG_STATUS_RIPV))
|
||||
kill_it = (cfg->tolerant == 3) ? 0 : 1;
|
||||
kill_current_task = (cfg->tolerant == 3) ? 0 : 1;
|
||||
/*
|
||||
* Check if this MCE is signaled to only this logical processor,
|
||||
* on Intel, Zhaoxin only.
|
||||
|
@ -1406,7 +1406,7 @@ noinstr void do_machine_check(struct pt_regs *regs)
|
|||
}
|
||||
}
|
||||
|
||||
if (worst != MCE_AR_SEVERITY && !kill_it)
|
||||
if (worst != MCE_AR_SEVERITY && !kill_current_task)
|
||||
goto out;
|
||||
|
||||
/* Fault was in user mode and we need to take some action */
|
||||
|
@ -1414,7 +1414,7 @@ noinstr void do_machine_check(struct pt_regs *regs)
|
|||
/* If this triggers there is no way to recover. Die hard. */
|
||||
BUG_ON(!on_thread_stack() || !user_mode(regs));
|
||||
|
||||
queue_task_work(&m, kill_it);
|
||||
queue_task_work(&m, kill_current_task);
|
||||
|
||||
} else {
|
||||
/*
|
||||
|
@ -1432,7 +1432,7 @@ noinstr void do_machine_check(struct pt_regs *regs)
|
|||
}
|
||||
|
||||
if (m.kflags & MCE_IN_KERNEL_COPYIN)
|
||||
queue_task_work(&m, kill_it);
|
||||
queue_task_work(&m, kill_current_task);
|
||||
}
|
||||
out:
|
||||
mce_wrmsrl(MSR_IA32_MCG_STATUS, 0);
|
||||
|
|
Loading…
Reference in New Issue