remoteproc: Fix a memory leak in an error handling path in 'rproc_handle_vdev()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 4 Sep 2021 11:37:32 +0000 (13:37 +0200)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Fri, 15 Oct 2021 14:49:55 +0000 (09:49 -0500)
commit0374a4ea7269645c46c3eb288526ea072fa19e79
tree3a2b5187a419353b513e701592375eb1a729d6a8
parentd6a33c5bdc84cc37d38e74afe0449c1192eea920
remoteproc: Fix a memory leak in an error handling path in 'rproc_handle_vdev()'

If 'copy_dma_range_map() fails, the memory allocated for 'rvdev' will leak.
Move the 'copy_dma_range_map()' call after the device registration so
that 'rproc_rvdev_release()' can be called to free some resources.

Also, branch to the error handling path if 'copy_dma_range_map()' instead
of a direct return to avoid some other leaks.

Fixes: e0d072782c73 ("dma-mapping: introduce DMA range map, supplanting dma_pfn_offset")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Jim Quinlan <james.quinlan@broadcom.com>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/e6d0dad6620da4fdf847faa903f79b735d35f262.1630755377.git.christophe.jaillet@wanadoo.fr
drivers/remoteproc/remoteproc_core.c