lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 26 Jul 2022 10:03:39 +0206
From:   John Ogness <john.ogness@...utronix.de>
To:     Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
        Petr Mladek <pmladek@...e.com>
Cc:     linux-kernel@...r.kernel.org,
        Sergey Senozhatsky <senozhatsky@...omium.org>,
        Steven Rostedt <rostedt@...dmis.org>,
        Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH v3] printk: Skip console drivers on PREEMPT_RT.

On 2022-07-25, Sebastian Andrzej Siewior <bigeasy@...utronix.de> wrote:
> printk might be invoked in a context with disabled interrupts and or
> preemption and additionally disables interrupts before it invokes the
> console drivers. This behaviour is not desired on PREEMPT_RT:
> - The console driver are using spinlock_t based locking which become sleeping
>   locks on PREEMPT_RT and must not be acquired with disabled interrupts (or
>   preemption).
>
> - The locks within the console drivers must remain sleeping locks and they must
>   not disable interrupts. Printing (and polling for its completion) at 115200
>   baud on an UART takes too long for PREEMPT_RT in general and so raises the
>   latency of the IRQ-off time of the system beyond acceptable levels.
>
> Skip printing to the console as temporary workaround until the printing threads
> and atomic consoles have been introduced or another solution which is
> compatible with the PREEMPT_RT approach.
> With this change, the user will not see any kernel message printed to the
> console but can retrieve the printk buffer from userland (via the dmesg
> command). This allows enable PREEMPT_RT as a whole without disabling printk and
> loosing all kernel output.

Note that "the dmesg command" is not the only userspace tool to access
the kernel logs. Logging daemons (using /proc/kmsg or /dev/kmsg) also
have full access.

> Disable console printing on PREEMPT_RT.
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>

Reviewed-by: John Ogness <john.ogness@...utronix.de>

Powered by blists - more mailing lists