Re: [PATCH v3 3/4] printk: nbcon: Allow KDB to acquire the NBCON context
From: John Ogness
Date: Fri Sep 05 2025 - 10:52:45 EST
On 2025-09-02, Marcos Paulo de Souza <mpdesouza@xxxxxxxx> wrote:
> diff --git a/kernel/printk/nbcon.c b/kernel/printk/nbcon.c
> index ff218e95a505fd10521c2c4dfb00ad5ec5773953..352235a0eb4a484caccf86d3a57d1a149218ecec 100644
> --- a/kernel/printk/nbcon.c
> +++ b/kernel/printk/nbcon.c
> @@ -255,6 +258,7 @@ static int nbcon_context_try_acquire_direct(struct nbcon_context *ctxt,
> * interrupted by the panic CPU while printing.
> */
> if (other_cpu_in_panic() &&
> + READ_ONCE(kdb_printf_cpu) != raw_smp_processor_id() &&
This needs some sort of ifdef CONFIG_KGDB_KDB wrapped around it. Maybe
it would be cleaner to have some macro.
#ifdef CONFIG_KGDB_KDB
#define KGDB_IS_ACTIVE() (READ_ONCE(kdb_printf_cpu) == raw_smp_processor_id())
#else
#define KGDB_IS_ACTIVE() false
#endif
and then something like:
if (other_cpu_in_panic() &&
!KGDB_IS_ACTIVE() &&
(!is_reacquire || cur->unsafe_takeover)) {
return -EPERM;
}
Or however you prefer. We need to compile for !CONFIG_KGDB_KDB.
John