On Thu 2024-12-19 20:17:21, John Ogness wrote: > On 2024-12-19, Petr Mladek <pmladek@xxxxxxxx> wrote: > > I do not want to revert everything now just because of theoretical > > problems. > > What would you revert? This has always been an issue for printk(). I did mean the already existing printf modifier which already take a lock, for example, %pOFC. > > Well, it would be nice to document the lock dependency in > > Documentation/core-api/printk-formats.rst > > Yes. If any locking is involved at all, such specifiers should be > documented as not safe in NMI context or within printk_cpu_sync > blocks. Also, it should be checked if all such locks are > raw_spinlock_t. If any other lock type is used, it probably is already > generating a lockdep splat since printk() formats records with local > interrupts off. Great point! > Perhaps we should create a kunit that calls printk() for each of the > supported specifiers and see if any lockdep splats appear. It might be possible to somehow reuse the existing module lib/test_printf.c. Best Regards, Petr