All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Wander Lairson Costa <wander@redhat.com>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"Johan Hovold" <johan@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	"Serge Semin" <fancer.lancer@gmail.com>,
	"Lukas Wunner" <lukas@wunner.de>, "Pali Rohár" <pali@kernel.org>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	"open list" <linux-kernel@vger.kernel.org>,
	rostedt@goodmis.org, senozhatsky@chromium.org,
	andre.goddard@gmail.com, sudipm.mukherjee@gmail.com,
	andy.shevchenko@gmail.com, David.Laight@aculab.com,
	jonathanh@nvidia.com, phil@raspberrypi.com
Subject: Re: [PATCH v4 5/5] serial/8250: Only use fifo after the port is initialized in console_write
Date: Thu, 17 Mar 2022 10:43:11 +0200 (EET)	[thread overview]
Message-ID: <2f3d386-b82a-9ae1-eaba-f2123b1346f8@linux.intel.com> (raw)
In-Reply-To: <20220316143646.13301-6-wander@redhat.com>

On Wed, 16 Mar 2022, Wander Lairson Costa wrote:

> The serial driver set the value of uart_8250_port.fcr in the function
> serial8250_config_port, but only writes the value to the controller
> register later in the initalization code.
> 
> That opens a small window in which is not safe to use the fifo for
> console write.
> 
> Make sure the port is initialized correctly before reading the FCR
> cached value.
> 
> Unfortunately, I lost track of who originally reported the issue. If
> s/he is reading this, please speak up so I can give you the due credit.
> 
> Signed-off-by: Wander Lairson Costa <wander@redhat.com>
> ---
>  drivers/tty/serial/8250/8250_port.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
> index 4acf620be241..7e2227161555 100644
> --- a/drivers/tty/serial/8250/8250_port.c
> +++ b/drivers/tty/serial/8250/8250_port.c
> @@ -3416,6 +3416,7 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
>  		!(up->capabilities & UART_CAP_MINI) &&
>  		up->tx_loadsz > 1 &&
>  		(up->fcr & UART_FCR_ENABLE_FIFO) &&
> +		test_bit(TTY_PORT_INITIALIZED, &port->state->port.iflags) &&
>  		/*
>  		 * After we put a data in the fifo, the controller will send
>  		 * it regardless of the CTS state. Therefore, only use fifo

So it looks like 2-5 just contain your development history and should all 
be merged to 1/5 (perhaps with Co-developed-by: tags where appropriate).

And please don't just merge them "silently" there w/o describing in the 
message _why_ you ended up doing the things the way you did in the end.
The messages you've written for patches 2-5 will serve you as great source 
material (with small mods, obviously).


-- 
 i.


  parent reply	other threads:[~2022-03-17  8:43 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-16 14:36 [PATCH v4 0/5] tty/8250: Use fifo in 8250 console driver Wander Lairson Costa
2022-03-16 14:36 ` [PATCH v4 1/5] serial/8250: " Wander Lairson Costa
2022-03-16 15:27   ` David Laight
2022-03-17 12:27     ` Wander Costa
2022-03-16 14:36 ` [PATCH v4 2/5] serial/8250: Use the cache value of the FCR register Wander Lairson Costa
2022-03-17  8:29   ` Ilpo Järvinen
2022-03-17 12:03     ` Wander Costa
2022-03-16 14:36 ` [PATCH v4 3/5] serial/8250: Use tx_loadsz as the transmitter fifo size Wander Lairson Costa
2022-03-16 14:36 ` [PATCH v4 4/5] serial/8250: exclude BCM283x from console_fifo_write Wander Lairson Costa
2022-03-16 14:36 ` [PATCH v4 5/5] serial/8250: Only use fifo after the port is initialized in console_write Wander Lairson Costa
2022-03-17  7:06   ` Jiri Slaby
2022-03-17 12:22     ` Wander Costa
2022-03-17  8:43   ` Ilpo Järvinen [this message]
2022-03-17 12:23     ` Wander Costa
2022-03-16 16:13 ` [PATCH v4 0/5] tty/8250: Use fifo in 8250 console driver Andy Shevchenko
2022-03-16 16:14   ` Andy Shevchenko
2022-03-16 16:37   ` Wander Costa
2022-03-17 15:47 ` Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2f3d386-b82a-9ae1-eaba-f2123b1346f8@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=David.Laight@aculab.com \
    --cc=andre.goddard@gmail.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=fancer.lancer@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=johan@kernel.org \
    --cc=jonathanh@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=lukas@wunner.de \
    --cc=macro@orcam.me.uk \
    --cc=pali@kernel.org \
    --cc=phil@raspberrypi.com \
    --cc=rostedt@goodmis.org \
    --cc=senozhatsky@chromium.org \
    --cc=sudipm.mukherjee@gmail.com \
    --cc=wander@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.