]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: ccs: Fix cleanup order in ccs_probe()
authorMehdi Djait <mehdi.djait@linux.intel.com>
Wed, 11 Dec 2024 13:30:45 +0000 (14:30 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Feb 2025 12:49:49 +0000 (13:49 +0100)
commit 6fdbff0f54786e94f0f630ff200ec1d666b1633e upstream.

ccs_limits is allocated in ccs_read_all_limits() after the allocation of
mdata.backing. Ensure that resources are freed in the reverse order of
their allocation by moving out_free_ccs_limits up.

Fixes: a11d3d6891f0 ("media: ccs: Read CCS static data from firmware binaries")
Cc: stable@vger.kernel.org
Signed-off-by: Mehdi Djait <mehdi.djait@linux.intel.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/i2c/ccs/ccs-core.c

index 5fdb922d24e052c6b862da2deff0481ba460947a..eb9ad5a50d951790004e99c10887758c5205f726 100644 (file)
@@ -3649,15 +3649,15 @@ out_media_entity_cleanup:
 out_cleanup:
        ccs_cleanup(sensor);
 
+out_free_ccs_limits:
+       kfree(sensor->ccs_limits);
+
 out_release_mdata:
        kvfree(sensor->mdata.backing);
 
 out_release_sdata:
        kvfree(sensor->sdata.backing);
 
-out_free_ccs_limits:
-       kfree(sensor->ccs_limits);
-
 out_power_off:
        ccs_power_off(&client->dev);
        mutex_destroy(&sensor->mutex);