On Mon, 14 Aug 2023, Tiezhu Yang wrote:
In the later patch, we will remove noreturn attribute for die(), in order
to make each patch can be built without errors and warnings, just remove
noreturn attribute for nmi_exception_handler() earlier because it calls
die(), otherwise there exists the following build error after the later
patch:
I find the wording a bit odd here, but you'll have to rewrite the change
description for the update requested below, so let's defer any style fixes
to v4.
arch/mips/kernel/traps.c:2001:1: error: 'noreturn' function does return [-Werror]
Now that I've looked into it in detail, this change is incomplete and
will make the kernel go astray if `nmi_exception_handler' actually ever
does return. See code in arch/mips/kernel/genex.S, which calls this
function and doesn't expect it to return. It has to be fixed before 2/3
can be considered. I wonder how you didn't catch it: you did check how
this code is used, didn't you?
Before submitting an updated version can you actually arrange for the
NOTIFY_STOP condition to happen in your lab and verify it is handled as
expected? And what was the motivation for this code update, just a
hypothetical scenario?