Merge tag 'gvt-fixes-2018-11-26' of https://github.com/intel/gvt-linux into drm-intel...
[sfrench/cifs-2.6.git] / arch / arm / plat-orion / mpp.c
index 5b4ff9373c894515ee211a3ce47f745e021a7ed6..8a6880d528b6f1175bd275b7ed0946b6029718bd 100644 (file)
@@ -28,10 +28,15 @@ void __init orion_mpp_conf(unsigned int *mpp_list, unsigned int variant_mask,
                           unsigned int mpp_max, void __iomem *dev_bus)
 {
        unsigned int mpp_nr_regs = (1 + mpp_max/8);
-       u32 mpp_ctrl[mpp_nr_regs];
+       u32 mpp_ctrl[8];
        int i;
 
        printk(KERN_DEBUG "initial MPP regs:");
+       if (mpp_nr_regs > ARRAY_SIZE(mpp_ctrl)) {
+               printk(KERN_ERR "orion_mpp_conf: invalid mpp_max\n");
+               return;
+       }
+
        for (i = 0; i < mpp_nr_regs; i++) {
                mpp_ctrl[i] = readl(mpp_ctrl_addr(i, dev_bus));
                printk(" %08x", mpp_ctrl[i]);