mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 00:21:59 +00:00
[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
Block a user