diff options
Diffstat (limited to 'arch/s390/kvm/intercept.c')
| -rw-r--r-- | arch/s390/kvm/intercept.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c index f94da68a5c22..61236102203e 100644 --- a/arch/s390/kvm/intercept.c +++ b/arch/s390/kvm/intercept.c @@ -38,6 +38,9 @@ static int handle_lctlg(struct kvm_vcpu *vcpu)  	if (base2)  		useraddr += vcpu->arch.guest_gprs[base2]; +	if (useraddr & 7) +		return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); +  	reg = reg1;  	VCPU_EVENT(vcpu, 5, "lctlg r1:%x, r3:%x,b2:%x,d2:%x", reg1, reg3, base2, @@ -74,6 +77,9 @@ static int handle_lctl(struct kvm_vcpu *vcpu)  	if (base2)  		useraddr += vcpu->arch.guest_gprs[base2]; +	if (useraddr & 3) +		return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION); +  	VCPU_EVENT(vcpu, 5, "lctl r1:%x, r3:%x,b2:%x,d2:%x", reg1, reg3, base2,  		   disp2); |