Ubuntu-focal-kernel/drivers/edac
Manivannan Sadhasivam 1dacf8a3e5 EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info
BugLink: https://bugs.launchpad.net/bugs/2011226

commit 977c6ba624f24ae20cf0faee871257a39348d4a9 upstream.

The memory for llcc_driv_data is allocated by the LLCC driver. But when
it is passed as the private driver info to the EDAC core, it will get freed
during the qcom_edac driver release. So when the qcom_edac driver gets probed
again, it will try to use the freed data leading to the use-after-free bug.

Hence, do not pass llcc_driv_data as pvt_info but rather reference it
using the platform_data pointer in the qcom_edac driver.

Fixes: 27450653f1 ("drivers: edac: Add EDAC driver support for QCOM SoCs")
Reported-by: Steev Klimaszewski <steev@kali.org>
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Tested-by: Steev Klimaszewski <steev@kali.org> # Thinkpad X13s
Tested-by: Andrew Halaney <ahalaney@redhat.com> # sa8540p-ride
Cc: <stable@vger.kernel.org> # 4.20
Link: https://lore.kernel.org/r/20230118150904.26913-4-manivannan.sadhasivam@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Luke Nowakowski-Krijger <luke.nowakowskikrijger@canonical.com>
Acked-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
2023-03-21 10:09:00 +01:00
..
Kconfig
Makefile
altera_edac.c EDAC/altera: Fix deferred probing 2022-03-29 09:14:05 +02:00
altera_edac.h
amd64_edac.c EDAC/amd64: Handle three rank interleaving mode 2022-01-13 18:42:20 +01:00
amd64_edac.h
amd64_edac_dbg.c
amd64_edac_inj.c
amd76x_edac.c
amd8111_edac.c
amd8111_edac.h
amd8131_edac.c
amd8131_edac.h
armada_xp_edac.c EDAC/armada-xp: Fix output of uncorrectable error counter 2021-11-22 17:30:56 +01:00
aspeed_edac.c
bluefield_edac.c
cell_edac.c
cpc925_edac.c
debugfs.c
e7xxx_edac.c
e752x_edac.c
edac_device.c EDAC/device: Respect any driver-supplied workqueue polling value 2023-03-21 10:09:00 +01:00
edac_device.h
edac_device_sysfs.c
edac_mc.c EDAC: Fix calculation of returned address and next offset in edac_align_ptr() 2022-04-14 11:32:24 +02:00
edac_mc.h
edac_mc_sysfs.c
edac_module.c
edac_module.h EDAC/device: Fix period calculation in edac_device_reset_delay_period() 2023-02-01 15:23:47 +01:00
edac_pci.c
edac_pci.h
edac_pci_sysfs.c
fsl_ddr_edac.c
fsl_ddr_edac.h
ghes_edac.c
highbank_l2_edac.c
highbank_mc_edac.c EDAC/highbank: Fix memory leak in highbank_mc_probe() 2023-03-21 10:08:57 +01:00
i7core_edac.c
i10nm_base.c EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper() 2023-02-01 15:22:15 +01:00
i3000_edac.c
i3200_edac.c
i5000_edac.c
i5100_edac.c
i5400_edac.c
i7300_edac.c
i82443bxgx_edac.c
i82860_edac.c
i82875p_edac.c
i82975x_edac.c
ie31200_edac.c
layerscape_edac.c
mce_amd.c
mce_amd.h
mpc85xx_edac.c
mpc85xx_edac.h
mv64x60_edac.c
mv64x60_edac.h
octeon_edac-l2c.c
octeon_edac-lmc.c
octeon_edac-pc.c
octeon_edac-pci.c
pasemi_edac.c
pnd2_edac.c
pnd2_edac.h
ppc4xx_edac.c
ppc4xx_edac.h
qcom_edac.c EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info 2023-03-21 10:09:00 +01:00
r82600_edac.c
sb_edac.c EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell 2022-01-13 18:41:55 +01:00
sifive_edac.c
skx_base.c
skx_common.c
skx_common.h
synopsys_edac.c EDAC/synopsys: Read the error count from the correct register 2022-06-22 14:50:51 +02:00
thunderx_edac.c
ti_edac.c
wq.c
x38_edac.c
xgene_edac.c EDAC/xgene: Fix deferred probing 2022-03-29 09:14:05 +02:00