Commit 345d1cd3 authored by Qiuxu Zhuo's avatar Qiuxu Zhuo Committed by sanglipeng
Browse files

EDAC/skx: Fix overflows on the DRAM row address mapping arrays

stable inclusion
from stable-v5.10.180
commit e951bdaa65865a67902d2db6a697178b16f39437
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I8DDFN

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=e951bdaa65865a67902d2db6a697178b16f39437



--------------------------------

[ Upstream commit 71b1e3ba ]

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: 4ec656bd ("EDAC, skx_edac: Add EDAC driver for Skylake")
Reported-by: default avatarFeng Xu <feng.f.xu@intel.com>
Tested-by: default avatarFeng Xu <feng.f.xu@intel.com>
Signed-off-by: default avatarQiuxu Zhuo <qiuxu.zhuo@intel.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
Link: https://lore.kernel.org/all/20230211011728.71764-1-qiuxu.zhuo@intel.com


Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarsanglipeng <sanglipeng1@jd.com>
parent 0fadb059
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment