From 7bfb07025dd66989dcac39b425e7985ba9eca1ea Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Thu, 27 Dec 2018 22:42:06 -0800 Subject: [PATCH] [Pal/Linux-SGX] Calculate event_num correctly for SIGFPE In case of SIGFPE in host, 0 is passed as event_num. It should be PAL_EVENT_DIVZERO. Signed-off-by: Isaku Yamahata --- Pal/src/host/Linux-SGX/sgx_exception.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/Pal/src/host/Linux-SGX/sgx_exception.c b/Pal/src/host/Linux-SGX/sgx_exception.c index 999f082c..15ec8618 100644 --- a/Pal/src/host/Linux-SGX/sgx_exception.c +++ b/Pal/src/host/Linux-SGX/sgx_exception.c @@ -253,16 +253,7 @@ static void _DkResumeSighandler (int signum, siginfo_t * info, INLINE_SYSCALL(exit, 1, 1); } - int event = 0; - switch(signum) { - case SIGBUS: - case SIGSEGV: - event = PAL_EVENT_MEMFAULT; - break; - case SIGILL: - event = PAL_EVENT_ILLEGAL; - break; - } + int event = get_event_num(signum); #if SGX_HAS_FSGSBASE != 0 sgx_raise(event); #else