Skip to contentSkip to conversation

s390 patches for 4.14-rc7

GIT PULL Martin Schwidefsky 1 participant 1 message Oct 27, 2017 s390

lore
Share & tools
lore
#0 lore raw

Hi Linus,

please pull from the 'for-linus' branch of

git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git for-linus

to receive the following updates:

"A fix for a regression in regard to machine check handling in KVM."

Keeping my fingers crossed that this is the last s390 fix for v4.14.

Martin Schwidefsky (1):
s390/kvm: fix detection of guest machine checks

 arch/s390/kernel/entry.S | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
arch/s390/kernel/entry.S +5 -2
index 21900e1..d185aa3 100644
@@ -521,12 +521,15 @@ ENTRY(pgm_check_handler)
 	tmhh	%r8,0x0001		# test problem state bit
 	jnz	2f			# -> fault in user space
 #if IS_ENABLED(CONFIG_KVM)
-	# cleanup critical section for sie64a
+	# cleanup critical section for program checks in sie64a
 	lgr	%r14,%r9
 	slg	%r14,BASED(.Lsie_critical_start)
 	clg	%r14,BASED(.Lsie_critical_length)
 	jhe	0f
-	brasl	%r14,.Lcleanup_sie
+	lg	%r14,__SF_EMPTY(%r15)		# get control block pointer
+	ni	__SIE_PROG0C+3(%r14),0xfe	# no longer in SIE
+	lctlg	%c1,%c1,__LC_USER_ASCE		# load primary asce
+	larl	%r9,sie_exit			# skip forward to sie_exit
 #endif
 0:	tmhh	%r8,0x4000		# PER bit set in old PSW ?
 	jnz	1f			# -> enabled, can't be a double fault