linux-stable/drivers/edac
Qiuxu Zhuo 6b0eb6b21d EDAC/skx: Fix overflows on the DRAM row address mapping arrays
[ Upstream commit 71b1e3ba3f ]

The current DRAM row address mapping arrays skx_{open,close}_row[]
only support ranks with sizes up to 16G. Decoding a rank address
to a DRAM row address for a 32G rank by using either one of the
above arrays by the skx_edac driver, will result in an overflow on
the array.

For a 32G rank, the most significant DRAM row address bit (the
bit17) is mapped from the bit34 of the rank address. Add this new
mapping item to both arrays to fix the overflow issue.

Fixes: 4ec656bdf4 ("EDAC, skx_edac: Add EDAC driver for Skylake")
Reported-by: Feng Xu <feng.f.xu@intel.com>
Tested-by: Feng Xu <feng.f.xu@intel.com>
Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Link: https://lore.kernel.org/all/20230211011728.71764-1-qiuxu.zhuo@intel.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-05-17 11:13:09 +02:00
..
Kconfig EDAC/mpc85xx: Prevent building as a module 2019-06-15 11:54:03 +02:00
Makefile
altera_edac.c EDAC/altera: Fix deferred probing 2022-02-08 18:23:19 +01:00
altera_edac.h EDAC, altera: Handle SDRAM Uncorrectable Errors on Stratix10 2018-05-12 12:29:41 +02:00
amd64_edac.c EDAC/amd64: Fix PCI component registration 2020-12-30 11:26:10 +01:00
amd64_edac.h EDAC/amd64: Add Family 17h Model 30h PCI IDs 2020-06-30 23:17:01 -04:00
amd64_edac_dbg.c
amd64_edac_inj.c
amd76x_edac.c
amd8111_edac.c
amd8111_edac.h
amd8131_edac.c
amd8131_edac.h
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-02-06 07:49:42 +01:00
edac_device.h
edac_device_sysfs.c EDAC: Fix reference count leaks 2020-08-19 08:14:48 +02:00
edac_mc.c EDAC: Fix calculation of returned address and next offset in edac_align_ptr() 2022-02-23 11:58:40 +01:00
edac_mc.h
edac_mc_sysfs.c EDAC: Fix global-out-of-bounds write when setting edac_mc_poll_msec 2019-07-26 09:14:13 +02:00
edac_module.c
edac_module.h EDAC/device: Fix period calculation in edac_device_reset_delay_period() 2023-01-18 11:30:55 +01:00
edac_pci.c
edac_pci.h
edac_pci_sysfs.c EDAC: Fix reference count leaks 2020-08-19 08:14:48 +02:00
fsl_ddr_edac.c
fsl_ddr_edac.h
ghes_edac.c EDAC/ghes: Fix grain calculation 2019-12-31 16:35:58 +01:00
highbank_l2_edac.c
highbank_mc_edac.c EDAC/highbank: Fix memory leak in highbank_mc_probe() 2023-02-06 07:49:37 +01:00
i7core_edac.c EDAC: Correct DIMM capacity unit symbol 2019-11-20 18:47:15 +01:00
i3000_edac.c
i3200_edac.c EDAC: Correct DIMM capacity unit symbol 2019-11-20 18:47:15 +01:00
i5000_edac.c
i5100_edac.c EDAC/i5100: Fix error handling order in i5100_init_one() 2020-10-29 09:55:00 +01:00
i5400_edac.c
i7300_edac.c
i82443bxgx_edac.c
i82860_edac.c
i82875p_edac.c
i82975x_edac.c
ie31200_edac.c EDAC/ie31200: Fallback if host bridge device is already initialized 2020-09-03 11:24:22 +02:00
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 EDAC, pnd2: Fix ioremap() size in dnv_rd_reg() 2019-10-05 13:09:39 +02:00
pnd2_edac.h
ppc4xx_edac.c
ppc4xx_edac.h
r82600_edac.c
sb_edac.c EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell 2021-11-26 11:36:00 +01:00
skx_edac.c EDAC/skx: Fix overflows on the DRAM row address mapping arrays 2023-05-17 11:13:09 +02:00
synopsys_edac.c EDAC/synopsys: Fix wrong value type assignment for edac_mode 2021-10-06 15:31:26 +02:00
thunderx_edac.c EDAC, thunderx: Fix memory leak in thunderx_l2c_threaded_isr() 2019-12-01 09:16:18 +01:00
ti_edac.c EDAC/ti: Add missing MODULE_DEVICE_TABLE 2021-07-20 16:15:45 +02:00
wq.c
x38_edac.c
xgene_edac.c EDAC/xgene: Fix deferred probing 2022-02-08 18:23:19 +01:00