* [PATCH v2 1/2] serial: sifive: lock port in startup()/shutdown() callbacks [not found] <20250330003058.386447-1-ryotkkr98@gmail.com> @ 2025-03-30 0:35 ` Ryo Takakura 2025-03-30 0:38 ` kernel test robot 0 siblings, 1 reply; 5+ messages in thread From: Ryo Takakura @ 2025-03-30 0:35 UTC (permalink / raw) To: alex, aou, gregkh, jirislaby, john.ogness, palmer, paul.walmsley, pmladek, samuel.holland, bigeasy, conor.dooley, u.kleine-koenig Cc: linux-kernel, linux-riscv, linux-serial, stable, Ryo Takakura startup()/shutdown() callbacks access SIFIVE_SERIAL_IE_OFFS. The register is also accessed from write() callback. If console were printing and startup()/shutdown() callback gets called, its access to the register could be overwritten. Add port->lock to startup()/shutdown() callbacks to make sure their access to SIFIVE_SERIAL_IE_OFFS is synchronized against write() callback. Signed-off-by: Ryo Takakura <ryotkkr98@gmail.com> --- drivers/tty/serial/sifive.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/tty/serial/sifive.c b/drivers/tty/serial/sifive.c index 5904a2d4c..054a8e630 100644 --- a/drivers/tty/serial/sifive.c +++ b/drivers/tty/serial/sifive.c @@ -563,8 +563,11 @@ static void sifive_serial_break_ctl(struct uart_port *port, int break_state) static int sifive_serial_startup(struct uart_port *port) { struct sifive_serial_port *ssp = port_to_sifive_serial_port(port); + unsigned long flags; + uart_port_lock_irqsave(&ssp->port, &flags); __ssp_enable_rxwm(ssp); + uart_port_unlock_irqrestore(&ssp->port, flags); return 0; } @@ -572,9 +575,12 @@ static int sifive_serial_startup(struct uart_port *port) static void sifive_serial_shutdown(struct uart_port *port) { struct sifive_serial_port *ssp = port_to_sifive_serial_port(port); + unsigned long flags; + uart_port_lock_irqsave(&ssp->port, &flags); __ssp_disable_rxwm(ssp); __ssp_disable_txwm(ssp); + uart_port_unlock_irqrestore(&ssp->port, flags); } /** -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] serial: sifive: lock port in startup()/shutdown() callbacks 2025-03-30 0:35 ` [PATCH v2 1/2] serial: sifive: lock port in startup()/shutdown() callbacks Ryo Takakura @ 2025-03-30 0:38 ` kernel test robot 2025-03-30 1:16 ` Ryo Takakura 0 siblings, 1 reply; 5+ messages in thread From: kernel test robot @ 2025-03-30 0:38 UTC (permalink / raw) To: Ryo Takakura; +Cc: stable, oe-kbuild-all Hi, Thanks for your patch. FYI: kernel test robot notices the stable kernel rule is not satisfied. The check is based on https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html#option-1 Rule: add the tag "Cc: stable@vger.kernel.org" in the sign-off area to have the patch automatically included in the stable tree. Subject: [PATCH v2 1/2] serial: sifive: lock port in startup()/shutdown() callbacks Link: https://lore.kernel.org/stable/20250330003522.386632-1-ryotkkr98%40gmail.com -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] serial: sifive: lock port in startup()/shutdown() callbacks 2025-03-30 0:38 ` kernel test robot @ 2025-03-30 1:16 ` Ryo Takakura 2025-03-30 7:30 ` Greg KH 0 siblings, 1 reply; 5+ messages in thread From: Ryo Takakura @ 2025-03-30 1:16 UTC (permalink / raw) To: alex, aou, gregkh, jirislaby, john.ogness, palmer, paul.walmsley, pmladek, samuel.holland, bigeasy, conor.dooley, u.kleine-koenig, lkp Cc: linux-kernel, linux-riscv, linux-serial, stable, oe-kbuild-all, Ryo Takakura startup()/shutdown() callbacks access SIFIVE_SERIAL_IE_OFFS. The register is also accessed from write() callback. If console were printing and startup()/shutdown() callback gets called, its access to the register could be overwritten. Add port->lock to startup()/shutdown() callbacks to make sure their access to SIFIVE_SERIAL_IE_OFFS is synchronized against write() callback. Signed-off-by: Ryo Takakura <ryotkkr98@gmail.com> Cc: stable@vger.kernel.org --- Hi, I'm sorry that I wasn't aware of how Cc stable should be done. I added Cc for stable but please tell me if this patch should be resent or if there is any that is missing. Sincerely, Ryo Takakura --- drivers/tty/serial/sifive.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/tty/serial/sifive.c b/drivers/tty/serial/sifive.c index 5904a2d4c..054a8e630 100644 --- a/drivers/tty/serial/sifive.c +++ b/drivers/tty/serial/sifive.c @@ -563,8 +563,11 @@ static void sifive_serial_break_ctl(struct uart_port *port, int break_state) static int sifive_serial_startup(struct uart_port *port) { struct sifive_serial_port *ssp = port_to_sifive_serial_port(port); + unsigned long flags; + uart_port_lock_irqsave(&ssp->port, &flags); __ssp_enable_rxwm(ssp); + uart_port_unlock_irqrestore(&ssp->port, flags); return 0; } @@ -572,9 +575,12 @@ static int sifive_serial_startup(struct uart_port *port) static void sifive_serial_shutdown(struct uart_port *port) { struct sifive_serial_port *ssp = port_to_sifive_serial_port(port); + unsigned long flags; + uart_port_lock_irqsave(&ssp->port, &flags); __ssp_disable_rxwm(ssp); __ssp_disable_txwm(ssp); + uart_port_unlock_irqrestore(&ssp->port, flags); } /** -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] serial: sifive: lock port in startup()/shutdown() callbacks 2025-03-30 1:16 ` Ryo Takakura @ 2025-03-30 7:30 ` Greg KH 2025-03-30 10:51 ` Ryo Takakura 0 siblings, 1 reply; 5+ messages in thread From: Greg KH @ 2025-03-30 7:30 UTC (permalink / raw) To: Ryo Takakura Cc: alex, aou, jirislaby, john.ogness, palmer, paul.walmsley, pmladek, samuel.holland, bigeasy, conor.dooley, u.kleine-koenig, lkp, linux-kernel, linux-riscv, linux-serial, stable, oe-kbuild-all On Sun, Mar 30, 2025 at 10:16:10AM +0900, Ryo Takakura wrote: > startup()/shutdown() callbacks access SIFIVE_SERIAL_IE_OFFS. > The register is also accessed from write() callback. > > If console were printing and startup()/shutdown() callback > gets called, its access to the register could be overwritten. > > Add port->lock to startup()/shutdown() callbacks to make sure > their access to SIFIVE_SERIAL_IE_OFFS is synchronized against > write() callback. > > Signed-off-by: Ryo Takakura <ryotkkr98@gmail.com> > Cc: stable@vger.kernel.org > --- > > Hi, > > I'm sorry that I wasn't aware of how Cc stable should be done. > > I added Cc for stable but please tell me if this patch should be > resent or if there is any that is missing. Please resend a v3. thanks, greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] serial: sifive: lock port in startup()/shutdown() callbacks 2025-03-30 7:30 ` Greg KH @ 2025-03-30 10:51 ` Ryo Takakura 0 siblings, 0 replies; 5+ messages in thread From: Ryo Takakura @ 2025-03-30 10:51 UTC (permalink / raw) To: gregkh Cc: alex, aou, bigeasy, conor.dooley, jirislaby, john.ogness, linux-kernel, linux-riscv, linux-serial, lkp, oe-kbuild-all, palmer, paul.walmsley, pmladek, ryotkkr98, samuel.holland, stable, u.kleine-koenig Hi Greg, On Sun, 30 Mar 2025 09:30:27 +0200, Greg KH wrote: >On Sun, Mar 30, 2025 at 10:16:10AM +0900, Ryo Takakura wrote: >> startup()/shutdown() callbacks access SIFIVE_SERIAL_IE_OFFS. >> The register is also accessed from write() callback. >> >> If console were printing and startup()/shutdown() callback >> gets called, its access to the register could be overwritten. >> >> Add port->lock to startup()/shutdown() callbacks to make sure >> their access to SIFIVE_SERIAL_IE_OFFS is synchronized against >> write() callback. >> >> Signed-off-by: Ryo Takakura <ryotkkr98@gmail.com> >> Cc: stable@vger.kernel.org >> --- >> >> Hi, >> >> I'm sorry that I wasn't aware of how Cc stable should be done. >> >> I added Cc for stable but please tell me if this patch should be >> resent or if there is any that is missing. > >Please resend a v3. Ok. I'll send v3 shortly ;) Sincerely, Ryo Takakura >thanks, > >greg k-h ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-03-30 10:51 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20250330003058.386447-1-ryotkkr98@gmail.com>
2025-03-30 0:35 ` [PATCH v2 1/2] serial: sifive: lock port in startup()/shutdown() callbacks Ryo Takakura
2025-03-30 0:38 ` kernel test robot
2025-03-30 1:16 ` Ryo Takakura
2025-03-30 7:30 ` Greg KH
2025-03-30 10:51 ` Ryo Takakura
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox