浏览代码

[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 <isaku.yamahata@gmail.com>
Isaku Yamahata 6 年之前
父节点
当前提交
7bfb07025d
共有 1 个文件被更改,包括 1 次插入10 次删除
  1. 1 10
      Pal/src/host/Linux-SGX/sgx_exception.c

+ 1 - 10
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