On (21/01/23 23:37), Qais Yousef wrote: > > I hit a pr_warn() inside hrtimer_interrupt() which lead to a BUG: Invalid wait > context splat. > > The problem wasn't reproducible but I think the cause is obvious, printk can't > be called from interrupt context. > > AFAICU printk_deferred() is safe from NMI, so I assumed it is safe to be > called > from hrtimer_interrupt() too. Adding a pr_warn_once() inside > hrtimer_interrupt() in a location where it is always hit produces the BUG > splat. Replacing it with pr_warn_deferred_once() generates the printk warning > without any splat.
Could you please post the lockdep splat? Why is it invalid? Is this... -rt kernel, perhaps? -ss