linux/drivers/interconnect/qcom
Vladimir Zapolskiy dbbd550d7c interconnect: qcom: sm8450: Fix NULL pointer dereference in icc_link_nodes()
The change to dynamic IDs for SM8450 platform interconnects left two links
unconverted, fix it to avoid the NULL pointer dereference in runtime,
when a pointer to a destination interconnect is not valid:

    Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
    <...>
    Call trace:
      icc_link_nodes+0x3c/0x100 (P)
      qcom_icc_rpmh_probe+0x1b4/0x528
      platform_probe+0x64/0xc0
      really_probe+0xc4/0x2a8
      __driver_probe_device+0x80/0x140
      driver_probe_device+0x48/0x170
      __device_attach_driver+0xc0/0x148
      bus_for_each_drv+0x88/0xf0
      __device_attach+0xb0/0x1c0
      device_initial_probe+0x58/0x68
      bus_probe_device+0x40/0xb8
      deferred_probe_work_func+0x90/0xd0
      process_one_work+0x15c/0x3c0
      worker_thread+0x2e8/0x400
      kthread+0x150/0x208
      ret_from_fork+0x10/0x20
     Code: 900310f4 911d6294 91008280 94176078 (f94002a0)
     ---[ end trace 0000000000000000 ]---
     Kernel panic - not syncing: Oops: Fatal exception

Fixes: 51513bec80 ("interconnect: qcom: sm8450: convert to dynamic IDs")
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://msgid.link/20260314012933.350644-1-vladimir.zapolskiy@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
History 2026-03-14 12:53:13 +02:00
..
bcm-voter.c interconnect: qcom: bcm-voter: Use enable_maks for keepalive voting 2023-08-22 01:43:56 +03:00
bcm-voter.h interconnect: qcom: icc-rpmh: Retire DEFINE_QBCM 2023-08-22 15:07:33 +03:00
glymur.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
icc-common.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
icc-common.h interconnect: constify of_phandle_args in xlate 2024-02-26 00:38:17 +02:00
icc-rpm-clocks.c interconnect: qcom: qcm2290: Hook up MAS_APPS_PROC's bus clock 2023-10-09 15:08:03 +03:00
icc-rpm.c interconnect: qcom: icc-rpm: Set the count member before accessing the flex array 2024-12-17 14:03:02 +02:00
icc-rpm.h interconnect: qcom: Make qnoc_remove return void 2023-11-22 15:57:07 +02:00
icc-rpmh.c interconnect: qcom: icc-rpmh: Get parent's regmap for nested NoCs 2025-11-19 16:03:05 +02:00
icc-rpmh.h interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
kaanapali.c Merge branch 'icc-dynamic-ids' into icc-next 2025-11-19 15:53:04 +02:00
Kconfig interconnect: qcom: add Kaanapali interconnect provider driver 2025-10-31 16:04:08 +02:00
Makefile interconnect: qcom: add Kaanapali interconnect provider driver 2025-10-31 16:04:08 +02:00
milos.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
msm8909.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
msm8916.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
msm8937.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
msm8939.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
msm8953.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
msm8974.c interconnect: qcom: msm8974: drop duplicated RPM_BUS_{MASTER,SLAVE}_REQ defines 2026-01-22 22:36:31 +02:00
msm8976.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
msm8996.c interconnect: qcom: msm8996: add missing link to SLAVE_USB_HS 2025-10-31 01:59:58 +02:00
msm8996.h interconnect: qcom: Add MSM8996 interconnect provider driver 2021-11-22 18:35:22 +02:00
osm-l3.c interconnect: avoid memory allocation when 'icc_bw_lock' is held 2025-06-27 21:43:40 +03:00
qcm2290.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
qcs404.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
qcs615.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
qcs8300.c interconnect: qcom: qcs8300: fix the num_links for nsp icc node 2026-01-21 11:46:05 +02:00
qdu1000.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sa8775p.c Merge branch 'icc-dynamic-ids' into icc-next 2025-11-19 15:53:04 +02:00
sar2130p.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sc7180.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sc7280.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sc8180x.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sc8280xp.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sdm660.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
sdm670.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sdm845.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sdx55.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sdx65.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sdx75.c Merge branch 'icc-dynamic-ids' into icc-next 2025-11-19 15:53:04 +02:00
sm6115.c interconnect: Switch back to struct platform_driver::remove() 2024-10-22 12:34:18 +03:00
sm6350.c interconnect: qcom: sm6350: enable QoS configuration 2025-11-19 16:03:12 +02:00
sm7150.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sm8150.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sm8250.c interconnect: qcom: sm8250: convert to dynamic IDs 2025-11-02 23:15:56 +02:00
sm8350.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sm8450.c interconnect: qcom: sm8450: Fix NULL pointer dereference in icc_link_nodes() 2026-03-14 12:53:13 +02:00
sm8550.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sm8650.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
sm8750.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00
smd-rpm.c interconnect: qcom: smd-rpm: drop duplicated QCOM_RPM_SMD_KEY_RATE define 2026-01-22 22:36:20 +02:00
x1e80100.c interconnect: qcom: icc-rpmh: drop support for non-dynamic IDS 2025-11-02 23:20:18 +02:00