mirror of https://gitee.com/openkylin/linux.git
[S390] fix loading of PER control registers for utrace.
If the current task enables / disables PER tracing for itself the PER control registers need to be loaded in FixPerRegisters. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
7284ce6c9f
commit
c3311c13ad
|
@ -65,6 +65,7 @@ FixPerRegisters(struct task_struct *task)
|
|||
{
|
||||
struct pt_regs *regs;
|
||||
per_struct *per_info;
|
||||
per_cr_words cr_words;
|
||||
|
||||
regs = task_pt_regs(task);
|
||||
per_info = (per_struct *) &task->thread.per_info;
|
||||
|
@ -98,6 +99,13 @@ FixPerRegisters(struct task_struct *task)
|
|||
per_info->control_regs.bits.storage_alt_space_ctl = 1;
|
||||
else
|
||||
per_info->control_regs.bits.storage_alt_space_ctl = 0;
|
||||
|
||||
if (task == current) {
|
||||
__ctl_store(cr_words, 9, 11);
|
||||
if (memcmp(&cr_words, &per_info->control_regs.words,
|
||||
sizeof(cr_words)) != 0)
|
||||
__ctl_load(per_info->control_regs.words, 9, 11);
|
||||
}
|
||||
}
|
||||
|
||||
void user_enable_single_step(struct task_struct *task)
|
||||
|
|
Loading…
Reference in New Issue