提交 d5feec04 编写于 作者: M Martin Schwidefsky

s390: do not bypass BPENTER for interrupt system calls

The system call path can be interrupted before the switch back to the
standard branch prediction with BPENTER has been done. The critical
section cleanup code skips forward to .Lsysc_do_svc and bypasses the
BPENTER. In this case the kernel and all subsequent code will run with
the limited branch prediction.

Fixes: eacf67eb9b32 ("s390: run user space and KVM guests with modified branch prediction")
Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
上级 410d5e13
...@@ -1440,6 +1440,7 @@ cleanup_critical: ...@@ -1440,6 +1440,7 @@ cleanup_critical:
stg %r15,__LC_SYSTEM_TIMER stg %r15,__LC_SYSTEM_TIMER
0: # update accounting time stamp 0: # update accounting time stamp
mvc __LC_LAST_UPDATE_TIMER(8),__LC_SYNC_ENTER_TIMER mvc __LC_LAST_UPDATE_TIMER(8),__LC_SYNC_ENTER_TIMER
BPENTER __TI_flags(%r12),_TIF_ISOLATE_BP
# set up saved register r11 # set up saved register r11
lg %r15,__LC_KERNEL_STACK lg %r15,__LC_KERNEL_STACK
la %r9,STACK_FRAME_OVERHEAD(%r15) la %r9,STACK_FRAME_OVERHEAD(%r15)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册