diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2021-07-05 20:43:00 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2021-07-21 19:27:35 +0300 |
commit | fd25ca3275946476d5c3fa32e3e7e3087fa5c572 (patch) | |
tree | 715bfe00975f488dd3b515099cd061557358bee2 | |
parent | 03ebc20de3b30fca5230a4c73cf4494b0d8d8d08 (diff) | |
download | u-boot-fd25ca3275946476d5c3fa32e3e7e3087fa5c572.tar.xz |
sandbox: don't set SA_NODEFER in signal handler
The sandbox can handle signals. Due to a damaged global data pointer
additional exceptions in the signal handler may occur leading to an endless
loop. In this case leave the handling of the secondary exception to the
operating system.
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | arch/sandbox/cpu/os.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c index a8aa9def27..1103530941 100644 --- a/arch/sandbox/cpu/os.c +++ b/arch/sandbox/cpu/os.c @@ -226,7 +226,7 @@ int os_setup_signal_handlers(void) act.sa_sigaction = os_signal_handler; sigemptyset(&act.sa_mask); - act.sa_flags = SA_SIGINFO | SA_NODEFER; + act.sa_flags = SA_SIGINFO; if (sigaction(SIGILL, &act, NULL) || sigaction(SIGBUS, &act, NULL) || sigaction(SIGSEGV, &act, NULL)) |