Set the size of the reg_cals arrays to PINCTRL_PIN_REG_MAX to in all
affected mediatek pinctrl drivers. This is needed to avoid potential
out-of-bounds accesses when they is used in mtk_hw_pin_field_get().
All array members need to be initialized since the code loops from 0
to PINCTRL_PIN_REG_MAX - 1. mt7622_reg_cals was already defined this
way, but the others were not.

Signed-off-by: David Lechner <[email protected]>
---
 drivers/pinctrl/mediatek/pinctrl-mt7623.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt7629.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt7981.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt7986.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt7987.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt7988.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt8365.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt8512.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt8516.c | 2 +-
 drivers/pinctrl/mediatek/pinctrl-mt8518.c | 2 +-
 10 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7623.c 
b/drivers/pinctrl/mediatek/pinctrl-mt7623.c
index 55e49a790e4..e9678cebd3c 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7623.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7623.c
@@ -388,7 +388,7 @@ static const struct mtk_pin_field_calc 
mt7623_pin_r0_range[] = {
        PIN_FIELD16(261, 261, 0x140, 0x10, 10, 1),
 };
 
-static const struct mtk_pin_reg_calc mt7623_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt7623_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt7623_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt7623_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt7623_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7629.c 
b/drivers/pinctrl/mediatek/pinctrl-mt7629.c
index 3b82423c145..d67220dc2f7 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7629.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7629.c
@@ -80,7 +80,7 @@ static const struct mtk_pin_field_calc mt7629_pin_drv_range[] 
= {
        PIN_FIELD(70, 78, 0x7600, 0x10, 0, 4),
 };
 
-static const struct mtk_pin_reg_calc mt7629_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt7629_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt7629_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt7629_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt7629_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7981.c 
b/drivers/pinctrl/mediatek/pinctrl-mt7981.c
index 13c3dc143cb..0d48994bd89 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7981.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7981.c
@@ -494,7 +494,7 @@ static const struct mtk_pin_field_calc 
mt7981_pin_r1_range[] = {
        PIN_FIELD_BASE(39, 39, 3, 0x40, 0x10, 1, 1),
 };
 
-static const struct mtk_pin_reg_calc mt7981_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt7981_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt7981_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt7981_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt7981_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7986.c 
b/drivers/pinctrl/mediatek/pinctrl-mt7986.c
index bf8cd037535..61ce2ec8ac1 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7986.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7986.c
@@ -415,7 +415,7 @@ static const struct mtk_pin_field_calc 
mt7986_pin_r1_range[] = {
        PIN_FIELD_BASE(66, 68, IOCFG_LB_BASE, 0x60, 0x10, 2, 1),
 };
 
-static const struct mtk_pin_reg_calc mt7986_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt7986_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt7986_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt7986_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt7986_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7987.c 
b/drivers/pinctrl/mediatek/pinctrl-mt7987.c
index db672d26798..92b43cf3b55 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7987.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7987.c
@@ -386,7 +386,7 @@ static const struct mtk_pin_field_calc 
mt7987_pin_r1_range[] = {
        PIN_FIELD_BASE(49, 49, IOCFG_TL_BASE, 0x50, 0x10, 8, 1),
 };
 
-static const struct mtk_pin_reg_calc mt7987_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt7987_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt7987_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt7987_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt7987_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt7988.c 
b/drivers/pinctrl/mediatek/pinctrl-mt7988.c
index 639e2415c63..74655493414 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt7988.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt7988.c
@@ -606,7 +606,7 @@ static const struct mtk_pin_field_calc 
mt7988_pin_r1_range[] = {
        PIN_FIELD_BASE(83, 83, IOCFG_TR_BASE, 0x90, 0x10, 15, 1),
 };
 
-static const struct mtk_pin_reg_calc mt7988_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt7988_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt7988_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt7988_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt7988_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8365.c 
b/drivers/pinctrl/mediatek/pinctrl-mt8365.c
index 0eae85b0078..2e291501584 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt8365.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt8365.c
@@ -223,7 +223,7 @@ static const struct mtk_pin_field_calc 
mt8365_pin_drv_range[] = {
        PIN_FIELD_DRV(136, 144, 0x770, 24),
 };
 
-static const struct mtk_pin_reg_calc mt8365_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt8365_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE]    = MTK_RANGE(mt8365_pin_mode_range),
        [PINCTRL_PIN_REG_DIR]     = MTK_RANGE(mt8365_pin_dir_range),
        [PINCTRL_PIN_REG_DI]      = MTK_RANGE(mt8365_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8512.c 
b/drivers/pinctrl/mediatek/pinctrl-mt8512.c
index 5a8dd4ddd40..4fb15815d86 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt8512.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt8512.c
@@ -178,7 +178,7 @@ static const struct mtk_pin_field_calc 
mt8512_pin_drv_range[] = {
        PIN_FIELDS(112, 115, 0x760, 0x10, 16, 4),
 };
 
-static const struct mtk_pin_reg_calc mt8512_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt8512_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt8512_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt8512_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt8512_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8516.c 
b/drivers/pinctrl/mediatek/pinctrl-mt8516.c
index 9c25066fc2d..09d71d45c89 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt8516.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt8516.c
@@ -184,7 +184,7 @@ static const struct mtk_pin_field_calc 
mt8516_pin_drv_range[] = {
        PIN_FIELD(117, 120, 0xd70, 0x10, 0, 4),
 };
 
-static const struct mtk_pin_reg_calc mt8516_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt8516_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt8516_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt8516_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt8516_pin_di_range),
diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8518.c 
b/drivers/pinctrl/mediatek/pinctrl-mt8518.c
index 333184a6bb2..0367e739e8e 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mt8518.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mt8518.c
@@ -205,7 +205,7 @@ static const struct mtk_pin_field_calc 
mt8518_pin_drv_range[] = {
        PIN_FIELD(116, 119, 0xd60, 0x10, 4, 4),
 };
 
-static const struct mtk_pin_reg_calc mt8518_reg_cals[] = {
+static const struct mtk_pin_reg_calc mt8518_reg_cals[PINCTRL_PIN_REG_MAX] = {
        [PINCTRL_PIN_REG_MODE] = MTK_RANGE(mt8518_pin_mode_range),
        [PINCTRL_PIN_REG_DIR] = MTK_RANGE(mt8518_pin_dir_range),
        [PINCTRL_PIN_REG_DI] = MTK_RANGE(mt8518_pin_di_range),

---
base-commit: d503633a36767d756c7de28305cf0de79440cbc0
change-id: 20260113-pinctrl-mtk-fix-reg-calc-size-0fab751b7464

Best regards,
-- 
David Lechner <[email protected]>

Reply via email to