]> www.infradead.org Git - users/hch/xfs.git/commitdiff
net: wwan: iosm: Fix tainted pointer delete is case of region creation fail
authorAleksandr Mishin <amishin@t-argos.ru>
Tue, 4 Jun 2024 08:25:00 +0000 (11:25 +0300)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 6 Jun 2024 08:15:14 +0000 (10:15 +0200)
In case of region creation fail in ipc_devlink_create_region(), previously
created regions delete process starts from tainted pointer which actually
holds error code value.
Fix this bug by decreasing region index before delete.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 4dcd183fbd67 ("net: wwan: iosm: devlink registration")
Signed-off-by: Aleksandr Mishin <amishin@t-argos.ru>
Acked-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://lore.kernel.org/r/20240604082500.20769-1-amishin@t-argos.ru
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/wwan/iosm/iosm_ipc_devlink.c

index bef6819986e93914edcf659e7e2591e3058ba8a2..33d6342124bc339ab403c3046c32db10573aabf9 100644 (file)
@@ -211,7 +211,7 @@ static int ipc_devlink_create_region(struct iosm_devlink *devlink)
                        rc = PTR_ERR(devlink->cd_regions[i]);
                        dev_err(devlink->dev, "Devlink region fail,err %d", rc);
                        /* Delete previously created regions */
-                       for ( ; i >= 0; i--)
+                       for (i--; i >= 0; i--)
                                devlink_region_destroy(devlink->cd_regions[i]);
                        goto region_create_fail;
                }