[PATCH 1/1] sandbox: don't set SA_NODEFER in signal handler
Simon Glass
sjg at chromium.org
Thu Jul 22 04:12:02 CEST 2021
Hi Heinrich,
On Wed, 7 Jul 2021 at 11:37, Simon Glass <sjg at chromium.org> wrote:
>
> Hi Heinrich,
>
> On Mon, 5 Jul 2021 at 11:43, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
> >
> > 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 at gmx.de>
> > ---
> > arch/sandbox/cpu/os.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
>
> I'm OK with this since it doesn't actually matter, now that the
> signal-catching behaviour is optional.
>
> But as I understand it, it will mean that the second exception is
> reported, but not the first? In other words, any core dump will be
> 'incorrect' in that it is not suitable for postmortem debugging.
I tested this by:
- setting sandbox's 'state' pointer to NULL in the 'md' command
- dropping state = &main_state from state_uninit
- running it and typing 'md'
This causes a recursive crash without your patch. With your patch it
is not recursive.
So I think it makes the -S option work better.
Reviewed-by: Simon Glass <sjg at chromium.org>
Regards,
Simon
Applied to u-boot-dm, thanks!
More information about the U-Boot
mailing list