• Mark-PK Tsai's avatar
    remoteproc: Fix dma_mem leak after rproc_shutdown · 1404acbb
    Mark-PK Tsai authored
    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: default avatarMark-PK Tsai <mark-pk.tsai@mediatek.com>
    Acked-by: default avatarChristoph Hellwig <hch@lst.de>
    Link: https://lore.kernel.org/r/20220422062436.14384-3-mark-pk.tsai@mediatek.comSigned-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
    1404acbb
remoteproc_core.c 73.2 KB