ARM64 KVM: bad regs.Sp return SIGSEGV

Consistent with the linux kernel, bad regs.Sp
return SIGSEGV

Signed-off-by: Howard Zhang <howard.zhang@arm.com>
This commit is contained in:
Howard Zhang
2020-10-20 15:50:09 +08:00
parent 34a6e9576a
commit d7ea53769f
@@ -197,7 +197,7 @@ func (c *vCPU) SwitchToUser(switchOpts ring0.SwitchOpts, info *arch.SignalInfo)
if regs := switchOpts.Registers; !ring0.IsCanonical(regs.Pc) {
return nonCanonical(regs.Pc, int32(syscall.SIGSEGV), info)
} else if !ring0.IsCanonical(regs.Sp) {
return nonCanonical(regs.Sp, int32(syscall.SIGBUS), info)
return nonCanonical(regs.Sp, int32(syscall.SIGSEGV), info)
}
// Assign PCIDs.