PCI: iproc: Fix out-of-bound array accesses
[ Upstream commit a3ff529f5d368a17ff35ada8009e101162ebeaf9 ] Declare the full size array for all revisions of PAX register sets to avoid potentially out of bound access of the register array when they are being initialized in iproc_pcie_rev_init(). Link: https://lore.kernel.org/r/20201001060054.6616-2-srinath.mannam@broadcom.com Fixes: 06324ede76cdf ("PCI: iproc: Improve core register population") Signed-off-by: Bharat Gooty <bharat.gooty@broadcom.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
4ef5a46d29
commit
49b563bfdd
@ -307,7 +307,7 @@ enum iproc_pcie_reg {
|
||||
};
|
||||
|
||||
/* iProc PCIe PAXB BCMA registers */
|
||||
static const u16 iproc_pcie_reg_paxb_bcma[] = {
|
||||
static const u16 iproc_pcie_reg_paxb_bcma[IPROC_PCIE_MAX_NUM_REG] = {
|
||||
[IPROC_PCIE_CLK_CTRL] = 0x000,
|
||||
[IPROC_PCIE_CFG_IND_ADDR] = 0x120,
|
||||
[IPROC_PCIE_CFG_IND_DATA] = 0x124,
|
||||
@ -318,7 +318,7 @@ static const u16 iproc_pcie_reg_paxb_bcma[] = {
|
||||
};
|
||||
|
||||
/* iProc PCIe PAXB registers */
|
||||
static const u16 iproc_pcie_reg_paxb[] = {
|
||||
static const u16 iproc_pcie_reg_paxb[IPROC_PCIE_MAX_NUM_REG] = {
|
||||
[IPROC_PCIE_CLK_CTRL] = 0x000,
|
||||
[IPROC_PCIE_CFG_IND_ADDR] = 0x120,
|
||||
[IPROC_PCIE_CFG_IND_DATA] = 0x124,
|
||||
@ -334,7 +334,7 @@ static const u16 iproc_pcie_reg_paxb[] = {
|
||||
};
|
||||
|
||||
/* iProc PCIe PAXB v2 registers */
|
||||
static const u16 iproc_pcie_reg_paxb_v2[] = {
|
||||
static const u16 iproc_pcie_reg_paxb_v2[IPROC_PCIE_MAX_NUM_REG] = {
|
||||
[IPROC_PCIE_CLK_CTRL] = 0x000,
|
||||
[IPROC_PCIE_CFG_IND_ADDR] = 0x120,
|
||||
[IPROC_PCIE_CFG_IND_DATA] = 0x124,
|
||||
@ -363,7 +363,7 @@ static const u16 iproc_pcie_reg_paxb_v2[] = {
|
||||
};
|
||||
|
||||
/* iProc PCIe PAXC v1 registers */
|
||||
static const u16 iproc_pcie_reg_paxc[] = {
|
||||
static const u16 iproc_pcie_reg_paxc[IPROC_PCIE_MAX_NUM_REG] = {
|
||||
[IPROC_PCIE_CLK_CTRL] = 0x000,
|
||||
[IPROC_PCIE_CFG_IND_ADDR] = 0x1f0,
|
||||
[IPROC_PCIE_CFG_IND_DATA] = 0x1f4,
|
||||
@ -372,7 +372,7 @@ static const u16 iproc_pcie_reg_paxc[] = {
|
||||
};
|
||||
|
||||
/* iProc PCIe PAXC v2 registers */
|
||||
static const u16 iproc_pcie_reg_paxc_v2[] = {
|
||||
static const u16 iproc_pcie_reg_paxc_v2[IPROC_PCIE_MAX_NUM_REG] = {
|
||||
[IPROC_PCIE_MSI_GIC_MODE] = 0x050,
|
||||
[IPROC_PCIE_MSI_BASE_ADDR] = 0x074,
|
||||
[IPROC_PCIE_MSI_WINDOW_SIZE] = 0x078,
|
||||
|
Loading…
x
Reference in New Issue
Block a user