mirror_ubuntu-kernels/drivers/gpu/drm/radeon
Liwei Song 4773fadedc drm/radeon: free iio for atombios when driver shutdown
Fix below kmemleak when unload radeon driver:

unreferenced object 0xffff9f8608ede200 (size 512):
  comm "systemd-udevd", pid 326, jiffies 4294682822 (age 716.338s)
  hex dump (first 32 bytes):
    00 00 00 00 c4 aa ec aa 14 ab 00 00 00 00 00 00  ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
  backtrace:
    [<0000000062fadebe>] kmem_cache_alloc_trace+0x2f1/0x500
    [<00000000b6883cea>] atom_parse+0x117/0x230 [radeon]
    [<00000000158c23fd>] radeon_atombios_init+0xab/0x170 [radeon]
    [<00000000683f672e>] si_init+0x57/0x750 [radeon]
    [<00000000566cc31f>] radeon_device_init+0x559/0x9c0 [radeon]
    [<0000000046efabb3>] radeon_driver_load_kms+0xc1/0x1a0 [radeon]
    [<00000000b5155064>] drm_dev_register+0xdd/0x1d0
    [<0000000045fec835>] radeon_pci_probe+0xbd/0x100 [radeon]
    [<00000000e69ecca3>] pci_device_probe+0xe1/0x160
    [<0000000019484b76>] really_probe.part.0+0xc1/0x2c0
    [<000000003f2649da>] __driver_probe_device+0x96/0x130
    [<00000000231c5bb1>] driver_probe_device+0x24/0xf0
    [<0000000000a42377>] __driver_attach+0x77/0x190
    [<00000000d7574da6>] bus_for_each_dev+0x7f/0xd0
    [<00000000633166d2>] driver_attach+0x1e/0x30
    [<00000000313b05b8>] bus_add_driver+0x12c/0x1e0

iio was allocated in atom_index_iio() called by atom_parse(),
but it doesn't got released when the dirver is shutdown.
Fix this kmemleak by free it in radeon_atombios_fini().

Signed-off-by: Liwei Song <liwei.song@windriver.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2023-01-09 17:02:19 -05:00
..
reg_srcs
.gitignore drm/radeon: fix incorrrect SPDX-License-Identifiers 2022-06-21 17:54:53 -04:00
atom-bits.h
atom-names.h
atom-types.h
atom.c drm: Convert open-coded yes/no strings to yesno() 2022-02-07 13:04:25 -08:00
atom.h drm/radeon/atom: Move 'radeon_atom_hw_i2c_*()'s prototypes into shared header 2020-11-16 15:56:34 -05:00
atombios_crtc.c drm/radeon: Drop legacy MST support 2022-08-23 16:53:43 -04:00
atombios_dp.c drm: Rename dp/ to display/ 2022-04-25 11:17:45 +02:00
atombios_encoders.c Immutable backlight-detect-refactor branch between acpi, drm-* and pdx86 2022-09-14 12:27:10 +01:00
atombios_i2c.c
atombios.h drm/radeon: Replace 1-element arrays with flexible-array members 2022-12-15 12:18:19 -05:00
avivod.h
btc_dpm.c drm/radeon/btc_dpm: Move 'evergreen_get_pi's prototype to shared header 2020-11-16 15:56:35 -05:00
btc_dpm.h
btcd.h
cayman_blit_shaders.h drm/radeon: change cayman_default_state table from global to static 2022-04-11 13:50:35 -04:00
ci_dpm.c drm/radeon/ci_dpm: Remove the unneeded result variable 2022-09-13 14:32:58 -04:00
ci_dpm.h
ci_smc.c
cik_blit_shaders.h drm/radeon: change cik_default_state table from global to static 2022-04-26 11:43:51 -04:00
cik_reg.h
cik_sdma.c drm/radeon/cik_sdma: Move 'amdgpu_cik_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:35 -05:00
cik.c drm/radeon: fix UVD suspend error 2022-01-18 17:43:36 -05:00
cik.h drm/radeon/cik: Move 'Move 'cik_sdma_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
cikd.h
clearstate_cayman.h
clearstate_ci.h
clearstate_defs.h
clearstate_evergreen.h
clearstate_si.h
cypress_dpm.c drm/radeon/btc_dpm: Move 'evergreen_get_pi's prototype to shared header 2020-11-16 15:56:35 -05:00
cypress_dpm.h
dce3_1_afmt.c
dce6_afmt.c drm/radeon/radeon_audio: Move 'dce6_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
dce6_afmt.h drm/radeon/radeon_audio: Move 'dce6_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
evergreen_blit_shaders.h drm/radeon/kms: change evergreen_default_state table from global to static 2022-04-19 13:58:32 -04:00
evergreen_cs.c drm/radeon/evergreen_cs: Move 'r600_dma_cs_next_reloc()'s prototype to shared header 2020-11-16 15:56:35 -05:00
evergreen_dma.c drm/radeon/evergreen_dma: Move 'evergreen_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
evergreen_hdmi.c drm/radeon/evergreen_hdmi: Move 'evergreen_*()' and 'dce4_*()' HDMI prototypes to shared header 2020-11-16 15:56:34 -05:00
evergreen_hdmi.h drm/radeon/evergreen_hdmi: Move 'evergreen_*()' and 'dce4_*()' HDMI prototypes to shared header 2020-11-16 15:56:34 -05:00
evergreen_reg.h
evergreen_smc.h
evergreen.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
evergreen.h drm/radeon/evergreen: Remove the repeated declaration 2021-05-25 23:47:24 -04:00
evergreend.h
Kconfig drm: Move radeon and amdgpu Kconfig options into their directories 2022-11-10 15:29:00 -05:00
kv_dpm.c drm/radeon/kv_dpm: Strip out unused functions and their tables 2020-11-13 00:11:53 -05:00
kv_dpm.h
kv_smc.c
Makefile drm/radeon: Drop legacy MST support 2022-08-23 16:53:43 -04:00
mkregtable.c
ni_dma.c drm/radeon/ni_dma: Move 'cayman_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
ni_dpm.c drm/radeon: fix potential buffer overflow in ni_set_mc_special_registers() 2022-06-06 14:43:41 -04:00
ni_dpm.h drm/radeon/ni_dpm: Move 'ni_get_{pi, ps}()'s into shared header 2020-11-16 15:56:34 -05:00
ni_reg.h
ni.c drm/radeon: fix UVD suspend error 2022-01-18 17:43:36 -05:00
ni.h drm/radeon/ni_dma: Move 'cayman_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
nid.h
nislands_smc.h drm/radeon/ni_dpm: Fix booting bug 2021-05-13 10:45:15 -04:00
ObjectID.h
ppsmc.h
pptable.h
r100_track.h
r100.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
r100d.h
r200.c
r300_reg.h gpu/drm/radeon: Fix typo in comments 2022-06-23 17:21:49 -04:00
r300.c drm/radeon: delete useless function return values & remove meaningless if(r) check code 2021-06-22 16:51:45 -04:00
r300d.h
r420.c drm/radeon: delete useless function return values & remove meaningless if(r) check code 2021-06-22 16:51:45 -04:00
r420d.h
r500_reg.h
r520.c drm/radeon: delete useless function return values & remove meaningless if(r) check code 2021-06-22 16:51:45 -04:00
r520d.h
r600_cs.c drm/radeon/r600_cs: remove r600_cs_legacy_get_tiling_conf() declaration 2022-09-13 14:52:14 -04:00
r600_dma.c drm/radeon/r600_dma: Move 'r600_gpu_check_soft_reset()'s prototype to shared location 2020-11-16 15:56:34 -05:00
r600_dpm.c drm/radeon: make array encoded_lanes static 2021-09-23 15:17:28 -04:00
r600_dpm.h
r600_hdmi.c drm/radeon/radeon_audio: Move 'r600_*' prototypes into shared header 2020-11-16 15:56:35 -05:00
r600_reg.h
r600.c drm/radeon: fix UVD suspend error 2022-01-18 17:43:36 -05:00
r600.h drm/radeon/radeon_audio: Move 'r600_*' prototypes into shared header 2020-11-16 15:56:35 -05:00
r600d.h
radeon_acpi.c drm/radeon: Drop CONFIG_BACKLIGHT_CLASS_DEVICE ifdefs 2022-06-21 18:17:24 -04:00
radeon_acpi.h
radeon_agp.c drm/radeon: Move AGP data structures into radeon 2021-05-10 15:46:50 +02:00
radeon_asic.c drm/radeon: OLAND boards don't have VCE 2021-02-18 16:43:09 -05:00
radeon_asic.h drm/radeon: remove the repeated declaration 2021-05-25 23:47:30 -04:00
radeon_atombios.c drm/radeon: Replace one-element array with flexible-array member 2022-11-04 16:05:53 -04:00
radeon_atombios.h drm/radeon/radeon_encoders: Move 'radeon_atom_backlight_init's prototype to shared header 2020-11-16 15:56:34 -05:00
radeon_atpx_handler.c
radeon_audio.c drm/radeon: Add HD-audio component notifier support (v6) 2022-11-10 15:29:00 -05:00
radeon_audio.h drm/radeon/radeon_audio: Move 'dce3_2_*' prototypes to shared location 2020-11-16 15:56:33 -05:00
radeon_benchmark.c
radeon_bios.c drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() 2022-11-29 11:03:38 -05:00
radeon_clocks.c
radeon_combios.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
radeon_connectors.c drm/radeon: Drop legacy MST support 2022-08-23 16:53:43 -04:00
radeon_cs.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
radeon_cursor.c
radeon_device.c drm/radeon: free iio for atombios when driver shutdown 2023-01-09 17:02:19 -05:00
radeon_device.h drm/radeon/radeon: Move prototype into shared header 2020-11-16 15:56:33 -05:00
radeon_display.c drm: Remove drm_mode_config::fb_base 2022-10-19 21:46:16 -04:00
radeon_dp_auxch.c
radeon_drv.c drm/radeon: Remove the unneeded result variable 2022-09-13 14:32:58 -04:00
radeon_drv.h drm/radeon/radeon_drv: Move prototypes to a shared headerfile 2020-11-13 00:03:49 -05:00
radeon_encoders.c Immutable backlight-detect-refactor branch between acpi, drm-* and pdx86 2022-09-14 12:27:10 +01:00
radeon_family.h
radeon_fb.c drm/fb-helper: Perform all fbdev I/O with the same implementation 2022-11-05 17:05:54 +01:00
radeon_fence.c Merge drm/drm-next into drm-misc-next 2021-09-14 09:25:30 +02:00
radeon_gart.c drm/radeon: use the dummy page for GART if needed 2021-05-19 22:32:24 -04:00
radeon_gem.c drm/radeon: Fix comment typo 2022-07-25 09:31:02 -04:00
radeon_i2c.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
radeon_ib.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
radeon_irq_kms.c drm/radeon: Drop legacy MST support 2022-08-23 16:53:43 -04:00
radeon_kms.c drm/radeon: remove resource accounting v2 2022-02-15 17:51:09 +01:00
radeon_kms.h drm/radeon: Convert to Linux IRQ interfaces 2021-08-10 20:13:49 +02:00
radeon_legacy_crtc.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
radeon_legacy_encoders.c drm/radeon: Don't register backlight when another backlight should be used (v3) 2022-08-25 10:56:20 +02:00
radeon_legacy_encoders.h drm/radeon/radeon_legacy_encoders: Move 'radeon_add_legacy_encoder's prototype to shared location 2020-11-16 15:56:33 -05:00
radeon_legacy_tv.c
radeon_mn.c dma-buf: add DMA_RESV_USAGE_BOOKKEEP v3 2022-04-07 12:53:54 +02:00
radeon_mode.h drm/radeon: remove unused declarations for radeon 2022-09-13 14:52:19 -04:00
radeon_object.c drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
radeon_object.h drm/radeon: remove resource accounting v2 2022-02-15 17:51:09 +01:00
radeon_pm.c drm/radeon: use time_after(a,b) to replace "a>b" 2022-08-25 13:35:18 -04:00
radeon_pm.h drm/radeon/radeon_pm: Move 'radeon_pm_acpi_event_handler' prototype into shared header 2020-11-16 15:56:33 -05:00
radeon_prime.c dma-buf: wait for map to complete for static attachments 2022-04-07 12:53:54 +02:00
radeon_prime.h drm/radeon/radeon_drv: Move 'radeon_gem_prime_import_sg_table()'s prototype to shared header 2020-11-16 15:56:35 -05:00
radeon_reg.h
radeon_ring.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
radeon_sa.c drm/radeon: Initialize fences array entries in radeon_sa_bo_next_hole 2022-06-08 11:41:09 -04:00
radeon_semaphore.c
radeon_sync.c Linux 5.18-rc5 2022-05-03 16:08:48 +10:00
radeon_test.c
radeon_trace_points.c
radeon_trace.h drm/ttm: rework on ttm_resource to use size_t type 2022-10-27 11:42:58 +02:00
radeon_ttm.c Merge tag 'amd-drm-next-6.2-2022-11-04' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2022-11-08 16:32:31 +10:00
radeon_ttm.h drm/radeon: Implement mmap as GEM object function 2021-05-26 20:56:29 +02:00
radeon_ucode.c
radeon_ucode.h
radeon_uvd.c drm/radeon: use DMA_RESV_USAGE_KERNEL 2022-04-07 12:53:54 +02:00
radeon_vce.c drm/radeon: Fix syntax errors in comments 2021-12-14 16:11:02 -05:00
radeon_vm.c dma-buf/drivers: make reserving a shared slot mandatory v4 2022-04-06 17:38:25 +02:00
radeon.h drm/radeon: Add HD-audio component notifier support (v6) 2022-11-10 15:29:00 -05:00
rs100d.h
rs400.c drm/radeon: delete useless function return values & remove meaningless if(r) check code 2021-06-22 16:51:45 -04:00
rs400d.h
rs600.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
rs600d.h
rs690.c drm/radeon: delete useless function return values & remove meaningless if(r) check code 2021-06-22 16:51:45 -04:00
rs690d.h
rs780_dpm.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
rs780_dpm.h
rs780d.h
rv6xx_dpm.c
rv6xx_dpm.h
rv6xxd.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: delete useless function return values & remove meaningless if(r) check code 2021-06-22 16:51:45 -04:00
rv515d.h
rv730_dpm.c drm/radeon/rv770: Move 'rv770_get_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
rv730d.h
rv740_dpm.c drm/radeon/rv770: Move 'rv770_get_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
rv740d.h
rv770_dma.c
rv770_dpm.c drm/radeon/btc_dpm: Move 'evergreen_get_pi's prototype to shared header 2020-11-16 15:56:35 -05:00
rv770_dpm.h
rv770_smc.c
rv770_smc.h
rv770.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
rv770.h drm/radeon/rv770: Move 'rv770_get_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
rv770d.h
si_blit_shaders.h drm/radeon: change si_default_state table from global to static 2022-04-06 10:20:25 -04:00
si_dma.c drm/radeon/si_dma: Move 'si_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
si_dpm.c drm/radeon: change cac_weights_* to static 2022-04-26 11:43:57 -04:00
si_dpm.h drm/radeon/ci_dpm: Move 'si_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
si_reg.h
si_smc.c
si.c drm/radeon: fix UVD suspend error 2022-01-18 17:43:36 -05:00
si.h drm/radeon/evergreen: Move 'si_get_csb_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
sid.h
sislands_smc.h drm/radeon/si_dpm: Fix SMU power state load 2021-05-13 10:45:29 -04:00
smu7_discrete.h
smu7_fusion.h
smu7.h
sumo_dpm.c drm/radeon: Add implementation of get_current_vddc for Sumo 2020-10-27 17:43:42 -04:00
sumo_dpm.h drm/radeon/sumo_dpm: Move 'sumo_get_pi()'s prototype into shared header 2020-11-13 00:12:30 -05:00
sumo_smc.c drm/radeon/sumo_dpm: Move 'sumo_get_pi()'s prototype into shared header 2020-11-13 00:12:30 -05:00
sumod.h
trinity_dpm.c drm/radeon/si_dpm: Move 'vce_v1_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05:00
trinity_dpm.h
trinity_smc.c
trinityd.h
uvd_v1_0.c drm/radeon: fix typoes in comments 2020-09-22 17:37:38 -04:00
uvd_v2_2.c drm/radeon: fix typoes in comments 2020-09-22 17:37:38 -04:00
uvd_v3_1.c
uvd_v4_2.c drm/radeon: fix typoes in comments 2020-09-22 17:37:38 -04:00
vce_v1_0.c drm/radeon: OLAND boards don't have VCE 2021-02-18 16:43:09 -05:00
vce_v2_0.c drm/radeon/cik: Move 'vce_v2_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05:00
vce.h drm/radeon/cik: Move 'vce_v2_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05:00