um: Consolidate MAGIC_SYSRQ into generic Kconfig definition

kconfiglint reports:

  K008: config MAGIC_SYSRQ has prompts in 2 separate definitions

MAGIC_SYSRQ is defined in two places with complementary conditions:

  arch/um/Kconfig:213 — depends on MCONSOLE (UML only)
  lib/Kconfig.debug:665 — depends on !UML (everything except UML)

The UML definition has existed since the initial git import in
commit 1da177e4c3 ("Linux-2.6.12-rc2"). UML needs MAGIC_SYSRQ to work
through its mconsole interface rather than through keyboard input, so the
UML version depends on MCONSOLE while the generic version excludes UML
entirely with `depends on !UML`.

These two definitions are logically complementary: on UML, MAGIC_SYSRQ
requires MCONSOLE; on everything else, it has no special dependencies.
This can be expressed as a single definition with
`depends on !UML || MCONSOLE`, which evaluates to:
  - On UML: requires MCONSOLE (same as before)
  - On non-UML: always satisfiable (same as before)

Consolidate into the generic definition in lib/Kconfig.debug by changing
the dependency to `depends on !UML || MCONSOLE` and merging the UML-
specific help text that explains the mconsole-based sysrq interface.
Remove the now-redundant definition from arch/um/Kconfig.

This follows the same unification pattern used by commit 7bd291abe2
("sched: Unify the SCHED_{SMT,CLUSTER,MC} Kconfig") and our earlier
SCHED_MC consolidation for SH.

No functional change — the resulting Kconfig behavior is identical.

Assisted-by: Claude:claude-opus-4-6 kconfiglint
Signed-off-by: Sasha Levin <sashal@kernel.org>
Link: https://patch.msgid.link/20260426000339.57049-1-sashal@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Sasha Levin 2026-04-25 20:03:39 -04:00 committed by Johannes Berg
parent af20aad1dd
commit 0dc2521b23
2 changed files with 6 additions and 23 deletions

View File

@ -210,25 +210,6 @@ config MCONSOLE
It is safe to say 'Y' here.
config MAGIC_SYSRQ
bool "Magic SysRq key"
depends on MCONSOLE
help
If you say Y here, you will have some control over the system even
if the system crashes for example during kernel debugging (e.g., you
will be able to flush the buffer cache to disk, reboot the system
immediately or dump some status information). A key for each of the
possible requests is provided.
This is the feature normally accomplished by pressing a key
while holding SysRq (Alt+PrintScreen).
On UML, this is accomplished by sending a "sysrq" command with
mconsole, followed by the letter for the requested command.
The keys are documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say Y
unless you really know what this hack does.
config KERNEL_STACK_ORDER
int "Kernel stack size order"
default 2 if 64BIT

View File

@ -649,7 +649,7 @@ menu "Generic Kernel Debugging Instruments"
config MAGIC_SYSRQ
bool "Magic SysRq key"
depends on !UML
depends on !UML || MCONSOLE
help
If you say Y here, you will have some control over the system even
if the system crashes for example during kernel debugging (e.g., you
@ -657,9 +657,11 @@ config MAGIC_SYSRQ
immediately or dump some status information). This is accomplished
by pressing various keys while holding SysRq (Alt+PrintScreen). It
also works on a serial console (on PC hardware at least), if you
send a BREAK and then within 5 seconds a command keypress. The
keys are documented in <file:Documentation/admin-guide/sysrq.rst>.
Don't say Y unless you really know what this hack does.
send a BREAK and then within 5 seconds a command keypress. On UML,
this is accomplished by sending a "sysrq" command with mconsole,
followed by the letter for the requested command. The keys are
documented in <file:Documentation/admin-guide/sysrq.rst>. Don't say
Y unless you really know what this hack does.
config MAGIC_SYSRQ_DEFAULT_ENABLE
hex "Enable magic SysRq key functions by default"