Re: [PATCH 1/3] printk: Fix kdb_trap_printk placement
From: Petr Mladek
Date: Thu Oct 12 2017 - 05:45:46 EST
Hi,
I thought about this a lot from several angles. And I would prefer
sligly different placement, see the patch below.
On Thu 2017-09-28 14:18:24, Peter Zijlstra wrote:
> Some people figured vprintk_emit() makes for a nice API and exported
> it, bypassing the kdb trap.
Sigh, printk() API is pretty complicated and this export
made it much worse. Well, there are two things:
First, kdb_trap_printk name is a bit misleading. It is not a
generic trap of any printk message. Instead it seems to be
used to redirect only particular messages from some existing
functions, e.g. show_regs() called from kdb_dumpregs().
Second, it seems that the only user of the exported vprintk_emit()
is dev_vprintk_emit(). I believe that code using this wrapper
is not called in the sections where kdb_trap_printk is incremented.
As a result, I think that we do not need to handle kdb_trap_printk
in vprintk_emit().
> This still leaves vprintk_nmi() outside of the kbd reach, should that
> be fixed too?
I think that it is safe after all, see the commit message in the patch
below.