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  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Tue, 14 May 2019 23:29:34 -0400
From:   "George G. Davis" <>
To:     Eugeniu Rosca <>,
        Geert Uytterhoeven <>,
        Simon Horman <>,
        Wolfram Sang <>,
        Greg Kroah-Hartman <>,
        Jiri Slaby <>,
        "open list:SERIAL DRIVERS" <>,
        open list <>
CC:     Chris Brandt <>,
        Ulrich Hecht <>,
        Andy Lowe <>,
        Linux-Renesas <>,
        <>, Magnus Damm <>,
        Rob Herring <>,
        Mark Rutland <>,
        "George G. Davis" <>,
Subject: [PATCH v3] serial: sh-sci: disable DMA for uart_console

As noted in commit 84b40e3b57ee ("serial: 8250: omap: Disable DMA for
console UART"), UART console lines use low-level PIO only access functions
which will conflict with use of the line when DMA is enabled, e.g. when
the console line is also used for systemd messages. So disable DMA
support for UART console lines.

Reported-by: Michael Rodin <>
Tested-by: Eugeniu Rosca <>
Reviewed-by: Simon Horman <>
Reviewed-by: Wolfram Sang <>
Reviewed-by: Geert Uytterhoeven <>
Signed-off-by: George G. Davis <>
v2: Clarify comment regarding DMA support on kernel console,
    add {Tested,Reviewed}-by:, and Cc: linux-stable lines.
v3: Change Fixes: reference to Link: reference and add another Reviewed-by.
 drivers/tty/serial/sh-sci.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/tty/serial/sh-sci.c b/drivers/tty/serial/sh-sci.c
index 3cd139752d3f..abc705716aa0 100644
--- a/drivers/tty/serial/sh-sci.c
+++ b/drivers/tty/serial/sh-sci.c
@@ -1557,6 +1557,13 @@ static void sci_request_dma(struct uart_port *port)
 	dev_dbg(port->dev, "%s: port %d\n", __func__, port->line);
+	/*
+	 * DMA on console may interfere with Kernel log messages which use
+	 * plain putchar(). So, simply don't use it with a console.
+	 */
+	if (uart_console(port))
+		return;
 	if (!port->dev->of_node)

Powered by blists - more mailing lists