44f8442dac
[ Upstream commit ad90d0358bd3b4554f243a425168fc7cebe7d04e ] Returning an error code from .remove() makes the driver core emit the little helpful error message: remove callback returned a non-zero value. This will be ignored. and then remove the device anyhow. So all resources that were not freed are leaked in this case. Skipping serial8250_unregister_port() has the potential to keep enough of the UART around to trigger a use-after-free. So replace the error return (and with it the little helpful error message) by a more useful error message and continue to cleanup. Fixes: e3f0c638f428 ("serial: 8250: omap: Fix unpaired pm_runtime_put_sync() in omap8250_remove()") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Tony Lindgren <tony@atomide.com> Link: https://lore.kernel.org/r/20231110152927.70601-2-u.kleine-koenig@pengutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
8250.h | ||
8250_accent.c | ||
8250_acorn.c | ||
8250_aspeed_vuart.c | ||
8250_bcm2835aux.c | ||
8250_boca.c | ||
8250_core.c | ||
8250_dma.c | ||
8250_dw.c | ||
8250_dwlib.c | ||
8250_dwlib.h | ||
8250_early.c | ||
8250_em.c | ||
8250_exar.c | ||
8250_exar_st16c554.c | ||
8250_fintek.c | ||
8250_fourport.c | ||
8250_fsl.c | ||
8250_gsc.c | ||
8250_hp300.c | ||
8250_hub6.c | ||
8250_ingenic.c | ||
8250_ioc3.c | ||
8250_lpc18xx.c | ||
8250_lpss.c | ||
8250_men_mcb.c | ||
8250_mid.c | ||
8250_mtk.c | ||
8250_of.c | ||
8250_omap.c | ||
8250_pci.c | ||
8250_pnp.c | ||
8250_port.c | ||
8250_pxa.c | ||
8250_tegra.c | ||
8250_uniphier.c | ||
Kconfig | ||
Makefile | ||
serial_cs.c |