lists.openwall.net | 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 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20231227154549-mutt-send-email-mst@kernel.org> Date: Wed, 27 Dec 2023 15:46:18 -0500 From: "Michael S. Tsirkin" <mst@...hat.com> To: Uwe Kleine-König <u.kleine-koenig@...gutronix.de> Cc: Gabriel Somlo <somlo@....edu>, kernel@...gutronix.de, qemu-devel@...gnu.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH 06/11] firmware: qemu_fw_cfg: Convert to platform remove callback returning void On Wed, Dec 27, 2023 at 05:26:30PM +0100, Uwe Kleine-König wrote: > The .remove() callback for a platform driver returns an int which makes > many driver authors wrongly assume it's possible to do error handling by > returning an error code. However the value returned is ignored (apart > from emitting a warning) and this typically results in resource leaks. > > To improve here there is a quest to make the remove callback return > void. In the first step of this quest all drivers are converted to > .remove_new(), which already returns void. Eventually after all drivers > are converted, .remove_new() will be renamed to .remove(). > > Trivially convert this driver from always returning zero in the remove > callback to the void returning variant. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@...gutronix.de> I don't mind. Acked-by: Michael S. Tsirkin <mst@...hat.com> > --- > drivers/firmware/qemu_fw_cfg.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/firmware/qemu_fw_cfg.c b/drivers/firmware/qemu_fw_cfg.c > index 1448f61173b3..03da9a4354f8 100644 > --- a/drivers/firmware/qemu_fw_cfg.c > +++ b/drivers/firmware/qemu_fw_cfg.c > @@ -731,7 +731,7 @@ static int fw_cfg_sysfs_probe(struct platform_device *pdev) > return err; > } > > -static int fw_cfg_sysfs_remove(struct platform_device *pdev) > +static void fw_cfg_sysfs_remove(struct platform_device *pdev) > { > pr_debug("fw_cfg: unloading.\n"); > fw_cfg_sysfs_cache_cleanup(); > @@ -739,7 +739,6 @@ static int fw_cfg_sysfs_remove(struct platform_device *pdev) > fw_cfg_io_cleanup(); > fw_cfg_kset_unregister_recursive(fw_cfg_fname_kset); > fw_cfg_kobj_cleanup(fw_cfg_sel_ko); > - return 0; > } > > static const struct of_device_id fw_cfg_sysfs_mmio_match[] = { > @@ -758,7 +757,7 @@ MODULE_DEVICE_TABLE(acpi, fw_cfg_sysfs_acpi_match); > > static struct platform_driver fw_cfg_sysfs_driver = { > .probe = fw_cfg_sysfs_probe, > - .remove = fw_cfg_sysfs_remove, > + .remove_new = fw_cfg_sysfs_remove, > .driver = { > .name = "fw_cfg", > .of_match_table = fw_cfg_sysfs_mmio_match, > -- > 2.43.0
Powered by blists - more mailing lists