linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/52] serial: Convert to platform remove callback returning void
@ 2023-11-10 15:29 Uwe Kleine-König
  2023-11-10 15:29 ` [PATCH 01/52] serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed Uwe Kleine-König
                   ` (51 more replies)
  0 siblings, 52 replies; 73+ messages in thread
From: Uwe Kleine-König @ 2023-11-10 15:29 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Jiri Slaby, Tony Lindgren, Alexander Shiyan
  Cc: John Ogness, Ilpo Järvinen, Thomas Richard, Arnd Bergmann,
	Thomas Gleixner, kernel, linux-serial, Richard GENOUD,
	Christophe JAILLET, Yangtao Li, Joel Stanley, Andrew Jeffery,
	Florian Fainelli, Broadcom internal kernel review list, Ray Jui,
	Scott Branden, Al Cooper, Andy Shevchenko, Paul Cercueil,
	Vladimir Zapolskiy, Matthias Brugger, AngeloGioacchino Del Regno,
	Thierry Reding, Jonathan Hunter, Kunihiko Hayashi,
	Masami Hiramatsu, Petr Mladek, Biju Das, Johan Hovold,
	Chen-Yu Tsai, Andi Shyti, Rob Herring, Geert Uytterhoeven,
	Duje Mihanović, Rafael J. Wysocki, Jacob Keller,
	linux-arm-kernel, linux-aspeed, linux-rpi-kernel, linux-mips,
	linux-mediatek, linux-tegra, Tobias Klauser, Russell King,
	Lino Sanfilippo, Jiamei Xie, Hongyu Xie, delisun, Fabio Estevam,
	Nicolas Ferre, Alexandre Belloni, Claudiu Beznea,
	Arend van Spriel, Maciej W. Rozycki, Christophe Leroy,
	Baruch Siach, Thierry Reding, Max Filippov, Zhang Shurong,
	Sherry Sun, Shenwei Wang, Shawn Guo, Sascha Hauer, Fabio Estevam,
	NXP Linux Team, Sergey Organov, Tom Rix, Martin Fuzzey,
	Bernhard Seibold, Karol Gugala, Mateusz Holenko, Gabriel Somlo,
	Jacky Huang, Shan-Chun Hung, Neil Armstrong, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl, Dmitry Rokosov, Lucas Tanure,
	Pavel Krasavin, linux-amlogic, Taichi Sugaya, Takao Orito,
	Andy Gross, Bjorn Andersson, Konrad Dybcio, linux-arm-msm,
	Andreas Färber, Manivannan Sadhasivam, linux-actions,
	Yuan Can, linux-unisoc, Krzysztof Kozlowski, Alim Akhtar,
	linux-samsung-soc, Laxman Dewangan, Geert Uytterhoeven,
	Palmer Dabbelt, Paul Walmsley, Ben Dooks, Nick Hu, Samuel Holland,
	Ruan Jinjie, linux-riscv, Orson Zhai, Baolin Wang, Chunyan Zhang,
	Patrice Chotard, Maxime Coquelin, Alexandre Torgue,
	Valentin Caron, Marek Vasut, Sebastian Andrzej Siewior,
	Erwan Le Ray, linux-stm32, David S. Miller, sparclinux,
	Hammer Hsieh, Peter Korsgaard, Timur Tabi, linuxppc-dev,
	Michal Simek, Julien Malik

Hello,

this series starts with two fixes. The first one fixes a resource leak
and use after free. The second only improves error reporting. I added a
Fixes: marker to these. I let you decide if you want to drop them (or
the second only) or add a Cc: stable (to both or only the first one).

After that all drivers below drivers/tty/serial are converted to struct
platform_driver::remove_new. See commit 5c5a7680e67b ("platform: Provide
a remove callback that returns no value") for an extended explanation
and the eventual goal. The TL;DR; is to prevent bugs like the two fixed
here.

After these two fixes all conversations are trivial, because all
.remove() callbacks returned zero unconditionally.

The conversion patches are merge window material. The two fixes might go
in also before v6.7, but given the fixed problems are already old
(v6.1-rc6 + v3.10-rc1) there is probably no urge.

Best regards
Uwe

Uwe Kleine-König (52):
  serial: 8250: omap: Don't skip resource freeing if
    pm_runtime_resume_and_get() failed
  serial: sccnxp: Improve error message if regulator_disable() fails
  serial: 8250: Convert to platform remove callback returning void
  serial: altera_jtaguart: Convert to platform remove callback returning
    void
  serial: altera: Convert to platform remove callback returning void
  serial: amba-pl011: Convert to platform remove callback returning void
  serial: ar933x: Convert to platform remove callback returning void
  serial: atmel: Convert to platform remove callback returning void
  serial: bcm63xx: Convert to platform remove callback returning void
  serial: clps711x: Convert to platform remove callback returning void
  serial: cpm: Convert to platform remove callback returning void
  serial: digicolor: Convert to platform remove callback returning void
  serial: esp32_acm: Convert to platform remove callback returning void
  serial: esp32: Convert to platform remove callback returning void
  serial: fsl_linflexuart: Convert to platform remove callback returning
    void
  serial: fsl_lpuart: Convert to platform remove callback returning void
  serial: imx: Convert to platform remove callback returning void
  serial: lantiq: Convert to platform remove callback returning void
  serial: liteuart: Convert to platform remove callback returning void
  serial: lpc32xx_hs: Convert to platform remove callback returning void
  serial: ma35d1: Convert to platform remove callback returning void
  serial: mcf: Convert to platform remove callback returning void
  serial: meson: Convert to platform remove callback returning void
  serial: milbeaut_usio: Convert to platform remove callback returning
    void
  serial: mpc52xx: Convert to platform remove callback returning void
  serial: msm: Convert to platform remove callback returning void
  serial: mxs-auart: Convert to platform remove callback returning void
  serial: omap: Convert to platform remove callback returning void
  serial: owl: Convert to platform remove callback returning void
  serial: pic32: Convert to platform remove callback returning void
  serial: qcom_geni: Convert to platform remove callback returning void
  serial: rda: Convert to platform remove callback returning void
  serial: sa1100: Convert to platform remove callback returning void
  serial: samsung: Convert to platform remove callback returning void
  serial: sccnxp: Convert to platform remove callback returning void
  serial: tegra: Convert to platform remove callback returning void
  serial: txx9: Convert to platform remove callback returning void
  serial: sh-sci: Convert to platform remove callback returning void
  serial: sifive: Convert to platform remove callback returning void
  serial: sprd: Convert to platform remove callback returning void
  serial: st-asc: Convert to platform remove callback returning void
  serial: stm32: Convert to platform remove callback returning void
  serial: sunhv: Convert to platform remove callback returning void
  serial: sunplus: Convert to platform remove callback returning void
  serial: sunsab: Convert to platform remove callback returning void
  serial: sunsu: Convert to platform remove callback returning void
  serial: sunzilog: Convert to platform remove callback returning void
  serial: tegra-tcu: Convert to platform remove callback returning void
  serial: timbuart: Convert to platform remove callback returning void
  serial: uartlite: Convert to platform remove callback returning void
  serial: ucc: Convert to platform remove callback returning void
  serial: xilinx_uartps: Convert to platform remove callback returning
    void

 drivers/tty/serial/8250/8250_aspeed_vuart.c |  6 ++----
 drivers/tty/serial/8250/8250_bcm2835aux.c   |  6 ++----
 drivers/tty/serial/8250/8250_bcm7271.c      |  5 ++---
 drivers/tty/serial/8250/8250_core.c         |  5 ++---
 drivers/tty/serial/8250/8250_dw.c           |  6 ++----
 drivers/tty/serial/8250/8250_em.c           |  5 ++---
 drivers/tty/serial/8250/8250_fsl.c          |  5 ++---
 drivers/tty/serial/8250/8250_ingenic.c      |  5 ++---
 drivers/tty/serial/8250/8250_ioc3.c         |  5 ++---
 drivers/tty/serial/8250/8250_lpc18xx.c      |  6 ++----
 drivers/tty/serial/8250/8250_mtk.c          |  6 ++----
 drivers/tty/serial/8250/8250_of.c           |  5 ++---
 drivers/tty/serial/8250/8250_omap.c         |  7 +++----
 drivers/tty/serial/8250/8250_pxa.c          |  6 ++----
 drivers/tty/serial/8250/8250_tegra.c        |  6 ++----
 drivers/tty/serial/8250/8250_uniphier.c     |  6 ++----
 drivers/tty/serial/altera_jtaguart.c        |  6 ++----
 drivers/tty/serial/altera_uart.c            |  6 ++----
 drivers/tty/serial/amba-pl011.c             |  5 ++---
 drivers/tty/serial/ar933x_uart.c            |  6 ++----
 drivers/tty/serial/atmel_serial.c           |  6 ++----
 drivers/tty/serial/bcm63xx_uart.c           |  5 ++---
 drivers/tty/serial/clps711x.c               |  6 ++----
 drivers/tty/serial/cpm_uart.c               |  6 ++----
 drivers/tty/serial/digicolor-usart.c        |  6 ++----
 drivers/tty/serial/esp32_acm.c              |  5 ++---
 drivers/tty/serial/esp32_uart.c             |  6 ++----
 drivers/tty/serial/fsl_linflexuart.c        |  6 ++----
 drivers/tty/serial/fsl_lpuart.c             |  5 ++---
 drivers/tty/serial/imx.c                    |  6 ++----
 drivers/tty/serial/lantiq.c                 |  6 ++----
 drivers/tty/serial/liteuart.c               |  6 ++----
 drivers/tty/serial/lpc32xx_hs.c             |  6 ++----
 drivers/tty/serial/ma35d1_serial.c          |  5 ++---
 drivers/tty/serial/mcf.c                    |  6 ++----
 drivers/tty/serial/meson_uart.c             |  8 +++-----
 drivers/tty/serial/milbeaut_usio.c          |  6 ++----
 drivers/tty/serial/mpc52xx_uart.c           |  7 ++-----
 drivers/tty/serial/msm_serial.c             |  6 ++----
 drivers/tty/serial/mxs-auart.c              |  6 ++----
 drivers/tty/serial/omap-serial.c            |  6 ++----
 drivers/tty/serial/owl-uart.c               |  6 ++----
 drivers/tty/serial/pic32_uart.c             |  7 ++-----
 drivers/tty/serial/qcom_geni_serial.c       |  6 ++----
 drivers/tty/serial/rda-uart.c               |  6 ++----
 drivers/tty/serial/sa1100.c                 |  6 ++----
 drivers/tty/serial/samsung_tty.c            |  6 ++----
 drivers/tty/serial/sccnxp.c                 | 13 +++++++------
 drivers/tty/serial/serial-tegra.c           |  5 ++---
 drivers/tty/serial/serial_txx9.c            |  5 ++---
 drivers/tty/serial/sh-sci.c                 |  6 ++----
 drivers/tty/serial/sifive.c                 |  6 ++----
 drivers/tty/serial/sprd_serial.c            |  6 ++----
 drivers/tty/serial/st-asc.c                 |  6 ++----
 drivers/tty/serial/stm32-usart.c            |  6 ++----
 drivers/tty/serial/sunhv.c                  |  6 ++----
 drivers/tty/serial/sunplus-uart.c           |  6 ++----
 drivers/tty/serial/sunsab.c                 |  6 ++----
 drivers/tty/serial/sunsu.c                  |  6 ++----
 drivers/tty/serial/sunzilog.c               |  6 ++----
 drivers/tty/serial/tegra-tcu.c              |  6 ++----
 drivers/tty/serial/timbuart.c               |  6 ++----
 drivers/tty/serial/uartlite.c               |  5 ++---
 drivers/tty/serial/ucc_uart.c               |  6 ++----
 drivers/tty/serial/xilinx_uartps.c          |  5 ++---
 65 files changed, 137 insertions(+), 249 deletions(-)


base-commit: 8728c14129df7a6e29188a2e737b4774fb200953
-- 
2.42.0


^ permalink raw reply	[flat|nested] 73+ messages in thread

end of thread, other threads:[~2023-11-22 23:23 UTC | newest]

Thread overview: 73+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-10 15:29 [PATCH 00/52] serial: Convert to platform remove callback returning void Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 01/52] serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed Uwe Kleine-König
2023-11-13  9:49   ` Tony Lindgren
2023-11-10 15:29 ` [PATCH 02/52] serial: sccnxp: Improve error message if regulator_disable() fails Uwe Kleine-König
     [not found]   ` <1699851843.639333963@f702.i.mail.ru>
2023-11-13  8:57     ` Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 03/52] serial: 8250: Convert to platform remove callback returning void Uwe Kleine-König
2023-11-10 17:49   ` Florian Fainelli
2023-11-13  9:09   ` AngeloGioacchino Del Regno
2023-11-13 10:15   ` Geert Uytterhoeven
2023-11-22 23:23   ` Andi Shyti
2023-11-10 15:29 ` [PATCH 04/52] serial: altera_jtaguart: " Uwe Kleine-König
2023-11-16 13:32   ` Tobias Klauser
2023-11-10 15:29 ` [PATCH 05/52] serial: altera: " Uwe Kleine-König
2023-11-16 13:32   ` Tobias Klauser
2023-11-10 15:29 ` [PATCH 06/52] serial: amba-pl011: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 07/52] serial: ar933x: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 08/52] serial: atmel: " Uwe Kleine-König
2023-11-10 18:09   ` claudiu beznea
2023-11-13 16:22   ` Richard Genoud
2023-11-10 15:29 ` [PATCH 09/52] serial: bcm63xx: " Uwe Kleine-König
2023-11-10 17:03   ` Florian Fainelli
2023-11-10 15:29 ` [PATCH 10/52] serial: clps711x: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 11/52] serial: cpm: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 12/52] serial: digicolor: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 13/52] serial: esp32_acm: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 14/52] serial: esp32: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 15/52] serial: fsl_linflexuart: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 16/52] serial: fsl_lpuart: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 17/52] serial: imx: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 18/52] serial: lantiq: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 19/52] serial: liteuart: " Uwe Kleine-König
2023-11-10 18:09   ` Gabriel L. Somlo
2023-11-10 15:29 ` [PATCH 20/52] serial: lpc32xx_hs: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 21/52] serial: ma35d1: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 22/52] serial: mcf: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 23/52] serial: meson: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 24/52] serial: milbeaut_usio: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 25/52] serial: mpc52xx: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 26/52] serial: msm: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 27/52] serial: mxs-auart: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 28/52] serial: omap: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 29/52] serial: owl: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 30/52] serial: pic32: " Uwe Kleine-König
2023-11-10 15:29 ` [PATCH 31/52] serial: qcom_geni: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 32/52] serial: rda: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 33/52] serial: sa1100: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 34/52] serial: samsung: " Uwe Kleine-König
2023-11-12  7:48   ` Krzysztof Kozlowski
2023-11-12  9:09     ` Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 35/52] serial: sccnxp: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 36/52] serial: tegra: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 37/52] serial: txx9: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 38/52] serial: sh-sci: " Uwe Kleine-König
2023-11-13 10:17   ` Geert Uytterhoeven
2023-11-10 15:30 ` [PATCH 39/52] serial: sifive: " Uwe Kleine-König
2023-11-10 17:31   ` Samuel Holland
2023-11-10 15:30 ` [PATCH 40/52] serial: sprd: " Uwe Kleine-König
2023-11-13  2:20   ` Chunyan Zhang
2023-11-10 15:30 ` [PATCH 41/52] serial: st-asc: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 42/52] serial: stm32: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 43/52] serial: sunhv: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 44/52] serial: sunplus: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 45/52] serial: sunsab: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 46/52] serial: sunsu: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 47/52] serial: sunzilog: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 48/52] serial: tegra-tcu: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 49/52] serial: timbuart: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 50/52] serial: uartlite: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 51/52] serial: ucc: " Uwe Kleine-König
2023-11-10 15:30 ` [PATCH 52/52] serial: xilinx_uartps: " Uwe Kleine-König
2023-11-13  9:41   ` Michal Simek
2023-11-13 10:03     ` Uwe Kleine-König
2023-11-13 14:31       ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).