platform_kernel-5.15/drivers/remoteproc
Mark-PK Tsai 9986ab51f5 FROMLIST: remoteproc: Fix dma_mem leak after rproc_shutdown
Release dma coherent memory before rvdev is free in
rproc_rvdev_release().

Below is the kmemleak report:
unreferenced object 0xffffff8051c1a980 (size 128):
  comm "sh", pid 4895, jiffies 4295026604 (age 15481.896s)
  hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<000000003a0f3ec0>] dma_declare_coherent_memory+0x44/0x11c
    [<00000000ad243164>] rproc_add_virtio_dev+0xb8/0x20c
    [<00000000d219c8e9>] rproc_vdev_do_start+0x18/0x24
    [<00000000e694b468>] rproc_start+0x22c/0x3e0
    [<000000000b938941>] rproc_boot+0x4a4/0x860
    [<000000003c4dc532>] state_store.52856+0x10c/0x1b8
    [<00000000df2297ac>] dev_attr_store+0x34/0x84
    [<0000000083a53bdb>] sysfs_kf_write+0x60/0xbc
    [<000000008ed830df>] kernfs_fop_write+0x198/0x458
    [<0000000072b9ad06>] __vfs_write+0x50/0x210
    [<00000000377d7469>] vfs_write+0xe4/0x1a8
    [<00000000c3fc594e>] ksys_write+0x78/0x144
    [<000000009aef6f4b>] __arm64_sys_write+0x1c/0x28
    [<0000000003496a98>] el0_svc_common+0xc8/0x22c
    [<00000000ea3fe7a3>] el0_svc_compat_handler+0x1c/0x28
    [<00000000d1a85a4e>] el0_svc_compat+0x8/0x24

Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com>

Bug: 233721768
Link: https://lore.kernel.org/lkml/20220422062436.14384-3-mark-pk.tsai@mediatek.com/
Change-Id: I77ba09a8cb86d90f6498e6a9e9747aa5c155c7da
Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
2022-05-31 17:49:00 +00:00
..
Kconfig remoteproc: imx-rproc: Fix IMX_REMOTEPROC configuration 2021-06-10 11:29:48 -05:00
Makefile remoteproc: pru: Add a PRU remoteproc driver 2020-12-10 10:55:55 -06:00
da8xx_remoteproc.c
imx_rproc.c remoteproc: imx_rproc: Fix a resource leak in the remove function 2022-01-27 11:05:10 +01:00
ingenic_rproc.c remoteproc: add is_iomem to da_to_va 2021-03-11 12:02:41 -06:00
keystone_remoteproc.c remoteproc: add is_iomem to da_to_va 2021-03-11 12:02:41 -06:00
mtk_common.h remoteproc/mediatek: support L1TCM 2021-02-09 09:08:47 -06:00
mtk_scp.c remoteproc: add is_iomem to da_to_va 2021-03-11 12:02:41 -06:00
mtk_scp_ipi.c remoteproc/mediatek: Add support for mt8192 SCP 2020-09-25 23:37:42 -05:00
omap_remoteproc.c remoteproc: add is_iomem to da_to_va 2021-03-11 12:02:41 -06:00
omap_remoteproc.h
pru_rproc.c remoteproc: pru: Add support for various PRU cores on K3 AM64x SoCs 2021-06-23 13:39:20 -05:00
pru_rproc.h remoteproc: pru: Add support for PRU specific interrupt configuration 2020-12-10 10:56:01 -06:00
qcom_common.c remoteproc: qcom: Add capability to collect minidumps 2020-12-10 13:16:54 -06:00
qcom_common.h remoteproc: qcom: Add capability to collect minidumps 2020-12-10 13:16:54 -06:00
qcom_pil_info.c remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided 2022-01-20 09:13:13 +01:00
qcom_pil_info.h remoteproc: qcom: Introduce helper to store pil info in IMEM 2020-07-01 22:10:18 -07:00
qcom_q6v5.c remoteproc: qcom_q6v5: Use devm_qcom_smem_state_get() to fix missing put() 2021-06-23 13:35:18 -05:00
qcom_q6v5.h remoteproc: qcom: q6v5: Query sysmon before graceful shutdown 2020-11-25 23:05:24 -06:00
qcom_q6v5_adsp.c remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region 2022-04-08 14:23:47 +02:00
qcom_q6v5_mss.c remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region 2022-04-08 14:23:47 +02:00
qcom_q6v5_pas.c remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP 2022-01-20 09:13:14 +01:00
qcom_q6v5_wcss.c remoteproc: qcom: wcss: Remove unnecessary PTR_ERR() 2021-04-13 21:10:32 -05:00
qcom_sysmon.c remoteproc: sysmon: fix shutdown_acked state 2020-12-04 16:40:52 -06:00
qcom_wcnss.c remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region 2022-04-08 14:23:47 +02:00
qcom_wcnss.h remoteproc: qcom: wcnss: Fix race with iris probe 2021-07-28 14:57:30 -05:00
qcom_wcnss_iris.c remoteproc: qcom: wcnss: Fix race with iris probe 2021-07-28 14:57:30 -05:00
remoteproc_cdev.c remoteproc: core: Fix cdev remove and rproc del 2021-06-23 13:41:44 -05:00
remoteproc_core.c FROMLIST: remoteproc: Fix dma_mem leak after rproc_shutdown 2022-05-31 17:49:00 +00:00
remoteproc_coredump.c ANDROID: remoteproc: core: Export the rproc coredump APIs 2022-02-10 16:22:49 +00:00
remoteproc_debugfs.c remoteproc: Fix count check in rproc_coredump_write() 2022-04-08 14:22:52 +02:00
remoteproc_elf_helpers.h remoteproc: fix an typo in fw_elf_get_class code comments 2021-07-28 14:57:30 -05:00
remoteproc_elf_loader.c remoteproc: Fix the wrong default value of is_iomem 2021-11-18 19:17:18 +01:00
remoteproc_internal.h remoteproc: Add new get_loaded_rsc_table() to rproc_ops 2021-03-18 07:54:53 -05:00
remoteproc_sysfs.c ANDROID: rproc: Add vendor hook when setting recovery mode 2022-03-18 18:49:01 +00:00
remoteproc_virtio.c remoteproc: Fix various kernel-doc warnings 2021-05-27 22:07:43 -05:00
st_remoteproc.c
st_slim_rproc.c remoteproc: add is_iomem to da_to_va 2021-03-11 12:02:41 -06:00
stm32_rproc.c remoteproc: stm32: fix mbox_send_message call 2021-06-23 13:45:20 -05:00
ti_k3_dsp_remoteproc.c remoteproc: add is_iomem to da_to_va 2021-03-11 12:02:41 -06:00
ti_k3_r5_remoteproc.c remoteproc: k3-r5: Fix an error message 2021-05-27 22:36:55 -05:00
ti_sci_proc.h remoteproc: k3: Add TI-SCI processor control helper functions 2020-07-28 17:06:43 -07:00
wkup_m3_rproc.c remoteproc: add is_iomem to da_to_va 2021-03-11 12:02:41 -06:00