Re: [NEEDS-REVIEW] [PATCH] do_exit(): panic() when double fault detected

From: Dave Hansen
Date: Sun Dec 06 2020 - 10:39:26 EST


On 12/6/20 5:10 AM, Vladimir Kondratiev wrote:
> Double fault detected in do_exit() is symptom of integrity
> compromised. For safety critical systems, it may be better to
> panic() in this case to minimize risk.

Does this fix a real problem that you have observed in practice?

Or, is this a general "hardening" which you think is a good practice?

What does this have to do specifically with safety critical systems?

The kernel generally tries to fix things up and keep running whenever
possible, if for no other reason than it helps debug problems. If that
is an undesirable property for your systems, then I think you have a
much bigger problem than faults during exit().

This option, "panic_on_double_fault", doesn't actually panic on all
double-faults, which means to me that it's dangerously named. There's
even an unprivileged selftest (tools/testing/selftests/x86/sigreturn.c)
which can cause double faults all day long.