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:
|
||
|---|---|---|
| .. | ||
| Kconfig | ||
| Makefile | ||
| altera_edac.c | ||
| altera_edac.h | ||
| amd64_edac.c | ||
| 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 | ||
| 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.h | ||
| edac_device_sysfs.c | ||
| edac_mc.c | ||
| edac_mc.h | ||
| edac_mc_sysfs.c | ||
| edac_module.c | ||
| edac_module.h | ||
| 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 | ||
| i7core_edac.c | ||
| i10nm_base.c | ||
| 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 | ||
| r82600_edac.c | ||
| sb_edac.c | ||
| sifive_edac.c | ||
| skx_base.c | ||
| skx_common.c | ||
| skx_common.h | ||
| synopsys_edac.c | ||
| thunderx_edac.c | ||
| ti_edac.c | ||
| wq.c | ||
| x38_edac.c | ||
| xgene_edac.c | ||