From 4b2f31131adaec9bd2837d877c4732069db27999 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 22 Jan 2019 21:55:20 +0100 Subject: pc64: properly handle faulterror in faultamd64() replicate what faulterror() would have done with up->nerrlab == 0, that is, terminate the process. --- sys/src/9/pc64/trap.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/src/9/pc64/trap.c b/sys/src/9/pc64/trap.c index 23c1e9b69..f1db63c23 100644 --- a/sys/src/9/pc64/trap.c +++ b/sys/src/9/pc64/trap.c @@ -698,6 +698,10 @@ faultamd64(Ureg* ureg, void*) up->insyscall = 1; f = fpusave(); if(!user && waserror()){ + if(up->nerrlab == 0){ + pprint("suicide: sys: %s\n", up->errstr); + pexit(up->errstr, 1); + } int s = splhi(); fpurestore(f); up->insyscall = insyscall; -- cgit v1.2.3