On Tue, Apr 06, 2021 at 08:16:43PM +0900, Tetsuo Handa wrote: > On 2021/04/06 16:10, Greg Kroah-Hartman wrote: > > On Tue, Apr 06, 2021 at 02:31:43PM +0900, Tetsuo Handa wrote: > >> On 2021/04/06 13:51, Jiri Slaby wrote: > >>> On 03. 04. 21, 6:14, Tetsuo Handa wrote: > >>>> --- a/include/linux/tty.h > >>>> +++ b/include/linux/tty.h > >>>> @@ -14,6 +14,7 @@ > >>>> #include <uapi/linux/tty.h> > >>>> #include <linux/rwsem.h> > >>>> #include <linux/llist.h> > >>>> +#include <../../kernel/printk/internal.h> > >>> > >>> Including printk's internal header in linux/tty.h doesn't look correct to > >>> me. > >>> > >> > >> This is because this patch wants __printk_safe_enter()/__printk_safe_exit() > >> without #ifdef'ing CONFIG_PRINTK. > > > > Then those functions need to be "properly" exported, not placed only in > > an "internal.h" file that obviously should not be included from anywhere > > like this. > > > >> Peter and Sergey, what should we do? > >> Can we move printk_safe_enter_irqsave()/printk_safe_exit_irqrestore() to > >> include/linux/printk.h ? > > > > Are you sure that is the only way to resolve this? > > Publishing printk_safe_enter_irqsave() etc. was once proposed at > https://lkml.kernel.org/r/[email protected] > and > Peter Zijlstra did not like such change. But we reconfirmed that "tty_port > lock must > switch to printk_safe" at > https://lkml.kernel.org/r/20190219013254.GA20023@jagdpanzerIV . > > Two years has elapsed since a completely new printk implementation which > would not > use printk_safe context was proposed, but printk_safe context is still > remaining. > Therefore, we might need to tolerate, with a warning that > printk_safe_enter_irqsave() > etc. are not intended for general use, use of printk_safe context for > tty_msg() and > tty_buffer_alloc().
The printk work is still ongoing, perhaps work with those developers on this? thanks, greg k-h

