Hi,

Please find the latest report on new defect(s) introduced to coreboot found 
with Coverity Scan.

20 new defect(s) introduced to coreboot found with Coverity Scan.
152 defect(s), reported by Coverity Scan earlier, were marked fixed in the 
recent build analyzed by Coverity Scan.

New defect(s) Reported-by: Coverity Scan
Showing 20 of 20 defect(s)


** CID 1353346:  Memory - illegal accesses  (OVERRUN)
/3rdparty/chromeec/chip/lm4/pwm.c: 63 in pwm_init()


________________________________________________________________________________________________________
*** CID 1353346:  Memory - illegal accesses  (OVERRUN)
/3rdparty/chromeec/chip/lm4/pwm.c: 63 in pwm_init()
57     
58     static void pwm_init(void)
59     {
60      int i;
61     
62      for (i = 0; i < PWM_CH_COUNT; ++i)
>>>     CID 1353346:  Memory - illegal accesses  (OVERRUN)
>>>     Overrunning array "pwm_channels" of 1 8-byte elements at element index 
>>> 1 (byte offset 8) using index "i" (which evaluates to 1).
63              fan_channel_setup(pwm_channels[i].channel,
64                                     (pwm_channels[i].flags &
65                                      PWM_CONFIG_HAS_RPM_MODE)
66                                     ? FAN_USE_RPM_MODE : 0);
67     }
68     
69     /* The chip-specific fan module initializes before this. */

** CID 1353342:    (OVERRUN)
/3rdparty/chromeec/common/pwm.c: 41 in cc_pwm_duty()
/3rdparty/chromeec/common/pwm.c: 41 in cc_pwm_duty()
/3rdparty/chromeec/common/pwm.c: 41 in cc_pwm_duty()
/3rdparty/chromeec/common/pwm.c: 35 in cc_pwm_duty()


________________________________________________________________________________________________________
*** CID 1353342:    (OVERRUN)
/3rdparty/chromeec/common/pwm.c: 41 in cc_pwm_duty()
35              for (ch = 0; ch < PWM_CH_COUNT; ch++)
36                      print_channel(ch);
37              return EC_SUCCESS;
38      }
39     
40      ch = strtoi(argv[1], &e, 0);
>>>     CID 1353342:    (OVERRUN)
>>>     Checking "ch >= PWM_CH_COUNT" implies that "ch" is between 0 and 1 
>>> (inclusive) on the false branch.
41      if (*e || ch < 0 || ch >= PWM_CH_COUNT)
42              return EC_ERROR_PARAM1;
43     
44      if (argc > 2) {
45              percent = strtoi(argv[2], &e, 0);
46              if (*e || percent > 100) {
/3rdparty/chromeec/common/pwm.c: 41 in cc_pwm_duty()
35              for (ch = 0; ch < PWM_CH_COUNT; ch++)
36                      print_channel(ch);
37              return EC_SUCCESS;
38      }
39     
40      ch = strtoi(argv[1], &e, 0);
>>>     CID 1353342:    (OVERRUN)
>>>     Checking "ch >= PWM_CH_COUNT" implies that "ch" is between 0 and 1 
>>> (inclusive) on the false branch.
41      if (*e || ch < 0 || ch >= PWM_CH_COUNT)
42              return EC_ERROR_PARAM1;
43     
44      if (argc > 2) {
45              percent = strtoi(argv[2], &e, 0);
46              if (*e || percent > 100) {
/3rdparty/chromeec/common/pwm.c: 41 in cc_pwm_duty()
35              for (ch = 0; ch < PWM_CH_COUNT; ch++)
36                      print_channel(ch);
37              return EC_SUCCESS;
38      }
39     
40      ch = strtoi(argv[1], &e, 0);
>>>     CID 1353342:    (OVERRUN)
>>>     Checking "ch >= PWM_CH_COUNT" implies that "ch" is between 0 and 1 
>>> (inclusive) on the false branch.
41      if (*e || ch < 0 || ch >= PWM_CH_COUNT)
42              return EC_ERROR_PARAM1;
43     
44      if (argc > 2) {
45              percent = strtoi(argv[2], &e, 0);
46              if (*e || percent > 100) {
/3rdparty/chromeec/common/pwm.c: 35 in cc_pwm_duty()
29      int percent = 0;
30      int ch;
31      char *e;
32     
33      if (argc < 2) {
34              ccprintf("PWM channels:\n");
>>>     CID 1353342:    (OVERRUN)
>>>     Checking "ch < PWM_CH_COUNT" implies that "ch" may be up to 1 on the 
>>> true branch.
35              for (ch = 0; ch < PWM_CH_COUNT; ch++)
36                      print_channel(ch);
37              return EC_SUCCESS;
38      }
39     
40      ch = strtoi(argv[1], &e, 0);

** CID 1353304:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353304:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/common/mkbp_event.c: 39 in set_host_interrupt()
33     /**
34      * Assert host keyboard interrupt line.
35      */
36     static void set_host_interrupt(int active)
37     {
38      /* interrupt host by using active low EC_INT signal */
>>>     CID 1353304:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_EC_INT_L" in call to "gpio_set_level".
39      gpio_set_level(GPIO_EC_INT_L, !active);
40     }
41     
42     void mkbp_send_event(uint8_t event_type)
43     {
44      set_event(event_type);

** CID 1353297:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353297:    (OVERRUN)
/3rdparty/chromeec/common/usb_charger.c: 61 in 
usb_charger_port_is_sourcing_vbus()
55      }
56     }
57     
58     int usb_charger_port_is_sourcing_vbus(int port)
59     {
60      if (port == 0)
>>>     CID 1353297:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C0_5V_EN" in call to "gpio_get_level".
61              return gpio_get_level(GPIO_USB_C0_5V_EN);
62     #if CONFIG_USB_PD_PORT_COUNT >= 2
63      else if (port == 1)
64              return gpio_get_level(GPIO_USB_C1_5V_EN);
65     #endif
66      /* Not a valid port */
/3rdparty/chromeec/common/usb_charger.c: 64 in 
usb_charger_port_is_sourcing_vbus()
58     int usb_charger_port_is_sourcing_vbus(int port)
59     {
60      if (port == 0)
61              return gpio_get_level(GPIO_USB_C0_5V_EN);
62     #if CONFIG_USB_PD_PORT_COUNT >= 2
63      else if (port == 1)
>>>     CID 1353297:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C1_5V_EN" in call to "gpio_get_level".
64              return gpio_get_level(GPIO_USB_C1_5V_EN);
65     #endif
66      /* Not a valid port */
67      return 0;
68     }
69     
/3rdparty/chromeec/common/usb_charger.c: 61 in 
usb_charger_port_is_sourcing_vbus()
55      }
56     }
57     
58     int usb_charger_port_is_sourcing_vbus(int port)
59     {
60      if (port == 0)
>>>     CID 1353297:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C0_5V_EN" in call to "gpio_get_level".
61              return gpio_get_level(GPIO_USB_C0_5V_EN);
62     #if CONFIG_USB_PD_PORT_COUNT >= 2
63      else if (port == 1)
64              return gpio_get_level(GPIO_USB_C1_5V_EN);
65     #endif
66      /* Not a valid port */
/3rdparty/chromeec/common/usb_charger.c: 64 in 
usb_charger_port_is_sourcing_vbus()
58     int usb_charger_port_is_sourcing_vbus(int port)
59     {
60      if (port == 0)
61              return gpio_get_level(GPIO_USB_C0_5V_EN);
62     #if CONFIG_USB_PD_PORT_COUNT >= 2
63      else if (port == 1)
>>>     CID 1353297:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C1_5V_EN" in call to "gpio_get_level".
64              return gpio_get_level(GPIO_USB_C1_5V_EN);
65     #endif
66      /* Not a valid port */
67      return 0;
68     }
69     

** CID 1353286:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353286:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/power/braswell.c: 340 in enter_pseudo_g3()
334     void enter_pseudo_g3(void)
335     {
336             CPRINTS("Enter Psuedo G3");
337             cflush();
338     
339             gpio_set_level(GPIO_EC_HIB_L, 1);
>>>     CID 1353286:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_SMC_SHUTDOWN" in call to "gpio_set_level".
340             gpio_set_level(GPIO_SMC_SHUTDOWN, 1);
341     
342             /* Power to EC should shut down now */
343             while (1)
344                     ;
345     }

** CID 1353265:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353265:    (OVERRUN)
/3rdparty/chromeec/common/system.c: 644 in system_get_board_version()
638             int v = 0;
639     
640     #ifdef CONFIG_BOARD_VERSION
641     #ifdef CONFIG_BOARD_SPECIFIC_VERSION
642             v = board_get_version();
643     #else
>>>     CID 1353265:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_BOARD_VERSION1" in call to "gpio_get_level".
644             if (gpio_get_level(GPIO_BOARD_VERSION1))
645                     v |= 0x01;
646             if (gpio_get_level(GPIO_BOARD_VERSION2))
647                     v |= 0x02;
648             if (gpio_get_level(GPIO_BOARD_VERSION3))
649                     v |= 0x04;
/3rdparty/chromeec/common/system.c: 646 in system_get_board_version()
640     #ifdef CONFIG_BOARD_VERSION
641     #ifdef CONFIG_BOARD_SPECIFIC_VERSION
642             v = board_get_version();
643     #else
644             if (gpio_get_level(GPIO_BOARD_VERSION1))
645                     v |= 0x01;
>>>     CID 1353265:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_BOARD_VERSION2" in call to "gpio_get_level".
646             if (gpio_get_level(GPIO_BOARD_VERSION2))
647                     v |= 0x02;
648             if (gpio_get_level(GPIO_BOARD_VERSION3))
649                     v |= 0x04;
650     #endif
651     #endif
/3rdparty/chromeec/common/system.c: 648 in system_get_board_version()
642             v = board_get_version();
643     #else
644             if (gpio_get_level(GPIO_BOARD_VERSION1))
645                     v |= 0x01;
646             if (gpio_get_level(GPIO_BOARD_VERSION2))
647                     v |= 0x02;
>>>     CID 1353265:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_BOARD_VERSION3" in call to "gpio_get_level".
648             if (gpio_get_level(GPIO_BOARD_VERSION3))
649                     v |= 0x04;
650     #endif
651     #endif
652     
653             return v;

** CID 1353263:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353263:    (OVERRUN)
/3rdparty/chromeec/power/braswell.c: 226 in power_handle_state()
220                     msleep(15);
221     
222                     /*
223                      * Throttle CPU if necessary.  This should only be 
asserted
224                      * when +VCCP is powered (it is by now).
225                      */
>>>     CID 1353263:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_CPU_PROCHOT" in call to "gpio_set_level".
226                     gpio_set_level(GPIO_CPU_PROCHOT, throttle_cpu);
227     
228                     /* Set SYS and CORE PWROK */
229                     gpio_set_level(GPIO_PCH_SYS_PWROK, 1);
230     
231                     return POWER_S0;
/3rdparty/chromeec/power/braswell.c: 271 in power_handle_state()
265                     enable_sleep(SLEEP_MASK_AP_RUN);
266     
267                     /*
268                      * Deassert prochot since CPU is off and we're about to 
drop
269                      * +VCCP.
270                      */
>>>     CID 1353263:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_CPU_PROCHOT" in call to "gpio_set_level".
271                     gpio_set_level(GPIO_CPU_PROCHOT, 0);
272     
273                     return POWER_S3;
274     
275             case POWER_S3S5:
276     
/3rdparty/chromeec/power/braswell.c: 162 in power_handle_state()
156                     if (power_wait_signals(IN_PGOOD_S5)) {
157                             chipset_force_shutdown();
158                             return POWER_G3;
159                     }
160     
161                     /* Deassert RSMRST# */
>>>     CID 1353263:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_RSMRST_L" in call to "gpio_set_level".
162                     gpio_set_level(GPIO_PCH_RSMRST_L, 1);
163                     return POWER_S5;
164     
165             case POWER_S5:
166                     /* Check for SLP S4 */
167                     if (gpio_get_level(GPIO_PCH_SLP_S4_L) == 1)
/3rdparty/chromeec/power/braswell.c: 309 in power_handle_state()
303     
304                             return POWER_G3;
305                     }
306     
307                     if (gpio_get_level(GPIO_PCH_SUSPWRDNACK) == 1) {
308                             /* Assert RSMRST# */
>>>     CID 1353263:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_RSMRST_L" in call to "gpio_set_level".
309                             gpio_set_level(GPIO_PCH_RSMRST_L, 0);
310     
311                             /* Config pins for SOC G3 */
312                             gpio_config_module(MODULE_GPIO, 1);
313     
314                             /* Enter SOC G3 */
/3rdparty/chromeec/power/braswell.c: 318 in power_handle_state()
312                             gpio_config_module(MODULE_GPIO, 1);
313     
314                             /* Enter SOC G3 */
315     #ifdef CONFIG_PMIC
316                             gpio_set_level(GPIO_PCH_SYS_PWROK, 0);
317                             udelay(1);
>>>     CID 1353263:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_RSMRST_L" in call to "gpio_set_level".
318                             gpio_set_level(GPIO_PCH_RSMRST_L, 0);
319     #else
320                             gpio_set_level(GPIO_SUSPWRDNACK_SOC_EC, 1);
321     #endif
322                             CPRINTS("Enter SOC G3");
323     
/3rdparty/chromeec/power/braswell.c: 307 in power_handle_state()
301     
302                             CPRINTS("Enter SOC G3");
303     
304                             return POWER_G3;
305                     }
306     
>>>     CID 1353263:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_SUSPWRDNACK" in call to "gpio_get_level".
307                     if (gpio_get_level(GPIO_PCH_SUSPWRDNACK) == 1) {
308                             /* Assert RSMRST# */
309                             gpio_set_level(GPIO_PCH_RSMRST_L, 0);
310     
311                             /* Config pins for SOC G3 */
312                             gpio_config_module(MODULE_GPIO, 1);

** CID 1353262:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353262:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/power/braswell.c: 67 in chipset_force_shutdown()
61       * Force power off. This condition will reset once the state machine
62       * transitions to G3.
63       */
64     #ifndef CONFIG_PMIC
65      gpio_set_level(GPIO_PCH_SYS_PWROK, 0);
66     #endif
>>>     CID 1353262:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_RSMRST_L" in call to "gpio_set_level".
67      gpio_set_level(GPIO_PCH_RSMRST_L, 0);
68      forcing_shutdown = 1;
69     }
70     
71     void chipset_reset(int cold_reset)
72     {

** CID 1353249:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353249:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/power/braswell.c: 108 in chipset_throttle_cpu()
102             }
103     }
104     
105     void chipset_throttle_cpu(int throttle)
106     {
107             if (chipset_in_state(CHIPSET_STATE_ON))
>>>     CID 1353249:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_CPU_PROCHOT" in call to "gpio_set_level".
108                     gpio_set_level(GPIO_CPU_PROCHOT, throttle);
109     }
110     
111     enum power_state power_chipset_init(void)
112     {
113             /* Pause in S5 when shutting down. */

** CID 1353248:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353248:    (OVERRUN)
/3rdparty/chromeec/power/braswell.c: 99 in chipset_reset()
93              /*
94               * Send a reset pulse to the PCH.  This just causes it to
95               * assert INIT# to the CPU without dropping power or asserting
96               * PLTRST# to reset the rest of the system.  The PCH uses a 16
97               * ms debounce time, so assert the signal for twice that.
98               */
>>>     CID 1353248:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_RCIN_L" in call to "gpio_set_level".
99              gpio_set_level(GPIO_PCH_RCIN_L, 0);
100                     usleep(32 * MSEC);
101                     gpio_set_level(GPIO_PCH_RCIN_L, 1);
102             }
103     }
104     
/3rdparty/chromeec/power/braswell.c: 101 in chipset_reset()
95               * assert INIT# to the CPU without dropping power or asserting
96               * PLTRST# to reset the rest of the system.  The PCH uses a 16
97               * ms debounce time, so assert the signal for twice that.
98               */
99              gpio_set_level(GPIO_PCH_RCIN_L, 0);
100                     usleep(32 * MSEC);
>>>     CID 1353248:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_RCIN_L" in call to "gpio_set_level".
101                     gpio_set_level(GPIO_PCH_RCIN_L, 1);
102             }
103     }
104     
105     void chipset_throttle_cpu(int throttle)
106     {

** CID 1353243:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353243:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/board/kunimitsu/board.c: 629 in board_handle_reboot()
623     
624             ccprintf("Restarting system with PMIC.\n");
625             /* Flush console */
626             cflush();
627     
628             /* Bring down all rails but RTC rail (including EC power). */
>>>     CID 1353243:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument "GPIO_LDO_EN" 
>>> in call to "gpio_set_level".
629             gpio_set_level(GPIO_LDO_EN, 1);
630             while (1)
631                     ; /* wait here */
632     }

** CID 1353241:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353241:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/common/flash.c: 409 in flash_get_protect()
403     #ifdef CONFIG_WP_ALWAYS
404             flags |= EC_FLASH_PROTECT_GPIO_ASSERTED;
405     #elif defined(CONFIG_WP_ACTIVE_HIGH)
406             if (gpio_get_level(GPIO_WP))
407                     flags |= EC_FLASH_PROTECT_GPIO_ASSERTED;
408     #else
>>>     CID 1353241:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument "GPIO_WP_L" 
>>> in call to "gpio_get_level".
409             if (!gpio_get_level(GPIO_WP_L))
410                     flags |= EC_FLASH_PROTECT_GPIO_ASSERTED;
411     #endif
412     
413     #ifdef CONFIG_FLASH_PSTATE
414             /* Read persistent state of RO-at-boot flag */

** CID 1353215:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353215:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/power/braswell.c: 132 in power_chipset_init()
126                             CPRINTS("already in S0");
127                             return POWER_S0;
128                     } else {
129                             /* Force all signals to their G3 states */
130                             CPRINTS("forcing G3");
131                             gpio_set_level(GPIO_PCH_SYS_PWROK, 0);
>>>     CID 1353215:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_RSMRST_L" in call to "gpio_set_level".
132                             gpio_set_level(GPIO_PCH_RSMRST_L, 0);
133     
134                             /*wireless_set_state(WIRELESS_OFF);*/
135                     }
136             }
137     

** CID 1353203:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353203:    (OVERRUN)
/3rdparty/chromeec/board/chell/board.c: 181 in board_reset_pd_mcu()
175     
176     /**
177      * Reset PD MCU
178      */
179     void board_reset_pd_mcu(void)
180     {
>>>     CID 1353203:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PD_RST_L" in call to "gpio_set_level".
181             gpio_set_level(GPIO_PD_RST_L, 0);
182             usleep(100);
183             gpio_set_level(GPIO_PD_RST_L, 1);
184     }
185     
186     void board_rtc_reset(void)
/3rdparty/chromeec/board/chell/board.c: 183 in board_reset_pd_mcu()
177      * Reset PD MCU
178      */
179     void board_reset_pd_mcu(void)
180     {
181             gpio_set_level(GPIO_PD_RST_L, 0);
182             usleep(100);
>>>     CID 1353203:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PD_RST_L" in call to "gpio_set_level".
183             gpio_set_level(GPIO_PD_RST_L, 1);
184     }
185     
186     void board_rtc_reset(void)
187     {
188             CPRINTS("Asserting RTCRST# to PCH");

** CID 1353199:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353199:    (OVERRUN)
/3rdparty/chromeec/chip/mec1322/system.c: 266 in system_hibernate()
260             /*
261              * Leave USB-C charging enabled in hibernate, in order to
262              * allow wake-on-plug. 5V enable must be pulled low.
263              */
264     #if CONFIG_USB_PD_PORT_COUNT > 0
265             gpio_set_flags(GPIO_USB_C0_5V_EN, GPIO_PULL_DOWN | GPIO_INPUT);
>>>     CID 1353199:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C0_CHARGE_EN_L" in call to "gpio_set_level".
266             gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 0);
267     #endif
268     #if CONFIG_USB_PD_PORT_COUNT > 1
269             gpio_set_flags(GPIO_USB_C1_5V_EN, GPIO_PULL_DOWN | GPIO_INPUT);
270             gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 0);
271     #endif
/3rdparty/chromeec/chip/mec1322/system.c: 270 in system_hibernate()
264     #if CONFIG_USB_PD_PORT_COUNT > 0
265             gpio_set_flags(GPIO_USB_C0_5V_EN, GPIO_PULL_DOWN | GPIO_INPUT);
266             gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 0);
267     #endif
268     #if CONFIG_USB_PD_PORT_COUNT > 1
269             gpio_set_flags(GPIO_USB_C1_5V_EN, GPIO_PULL_DOWN | GPIO_INPUT);
>>>     CID 1353199:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C1_CHARGE_EN_L" in call to "gpio_set_level".
270             gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 0);
271     #endif
272     #endif /* CONFIG_USB_PD_PORT_COUNT */
273     
274             if (hibernate_wake_pins_used > 0) {
275                     for (i = 0; i < hibernate_wake_pins_used; ++i) {

** CID 1353189:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353189:    (OVERRUN)
/3rdparty/chromeec/board/chell/board.c: 303 in board_set_active_charge_port()
297     int board_set_active_charge_port(int charge_port)
298     {
299             /* charge port is a realy physical port */
300             int is_real_port = (charge_port >= 0 &&
301                                 charge_port < CONFIG_USB_PD_PORT_COUNT);
302             /* check if we are source vbus on that port */
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument "(charge_port 
>>> == 0) ? GPIO_USB_C0_5V_EN : GPIO_USB_C1_5V_EN" (which evaluates to 54) in 
>>> call to "gpio_get_level".
303             int source = gpio_get_level(charge_port == 0 ? 
GPIO_USB_C0_5V_EN :
304                                                            
GPIO_USB_C1_5V_EN);
305     
306             if (is_real_port && source) {
307                     CPRINTS("Skip enable p%d", charge_port);
308                     return EC_ERROR_INVAL;
/3rdparty/chromeec/board/chell/board.c: 319 in board_set_active_charge_port()
313             if (charge_port == CHARGE_PORT_NONE) {
314                     /* Disable both ports */
315                     gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1);
316                     gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
317             } else {
318                     /* Make sure non-charging port is disabled */
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument "charge_port 
>>> ? GPIO_USB_C0_CHARGE_EN_L : GPIO_USB_C1_CHARGE_EN_L" (which evaluates to 
>>> 57) in call to "gpio_set_level".
319                     gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L :
320                                                  GPIO_USB_C1_CHARGE_EN_L, 
1);
321                     /* Enable charging port */
322                     gpio_set_level(charge_port ? GPIO_USB_C1_CHARGE_EN_L :
323                                                  GPIO_USB_C0_CHARGE_EN_L, 
0);
324             }
/3rdparty/chromeec/board/chell/board.c: 322 in board_set_active_charge_port()
316                     gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
317             } else {
318                     /* Make sure non-charging port is disabled */
319                     gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L :
320                                                  GPIO_USB_C1_CHARGE_EN_L, 
1);
321                     /* Enable charging port */
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument "charge_port 
>>> ? GPIO_USB_C1_CHARGE_EN_L : GPIO_USB_C0_CHARGE_EN_L" (which evaluates to 
>>> 56) in call to "gpio_set_level".
322                     gpio_set_level(charge_port ? GPIO_USB_C1_CHARGE_EN_L :
323                                                  GPIO_USB_C0_CHARGE_EN_L, 
0);
324             }
325     
326             return EC_SUCCESS;
327     }
/3rdparty/chromeec/board/chell/board.c: 315 in board_set_active_charge_port()
309             }
310     
311             CPRINTS("New chg p%d", charge_port);
312     
313             if (charge_port == CHARGE_PORT_NONE) {
314                     /* Disable both ports */
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C0_CHARGE_EN_L" in call to "gpio_set_level".
315                     gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1);
316                     gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
317             } else {
318                     /* Make sure non-charging port is disabled */
319                     gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L :
320                                                  GPIO_USB_C1_CHARGE_EN_L, 
1);
/3rdparty/chromeec/board/chell/board.c: 316 in board_set_active_charge_port()
310     
311             CPRINTS("New chg p%d", charge_port);
312     
313             if (charge_port == CHARGE_PORT_NONE) {
314                     /* Disable both ports */
315                     gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1);
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C1_CHARGE_EN_L" in call to "gpio_set_level".
316                     gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
317             } else {
318                     /* Make sure non-charging port is disabled */
319                     gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L :
320                                                  GPIO_USB_C1_CHARGE_EN_L, 
1);
321                     /* Enable charging port */
/3rdparty/chromeec/board/kunimitsu/board.c: 551 in 
board_set_active_charge_port()
545     int board_set_active_charge_port(int charge_port)
546     {
547             /* charge port is a realy physical port */
548             int is_real_port = (charge_port >= 0 &&
549                                 charge_port < CONFIG_USB_PD_PORT_COUNT);
550             /* check if we are source vbus on that port */
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument "(charge_port 
>>> == 0) ? GPIO_USB_C0_5V_EN : GPIO_USB_C1_5V_EN" (which evaluates to 56) in 
>>> call to "gpio_get_level".
551             int source = gpio_get_level(charge_port == 0 ? 
GPIO_USB_C0_5V_EN :
552                                                            
GPIO_USB_C1_5V_EN);
553     
554             if (is_real_port && source) {
555                     CPRINTS("Skip enable p%d", charge_port);
556                     return EC_ERROR_INVAL;
/3rdparty/chromeec/board/kunimitsu/board.c: 567 in 
board_set_active_charge_port()
561             if (charge_port == CHARGE_PORT_NONE) {
562                     /* Disable both ports */
563                     gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1);
564                     gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
565             } else {
566                     /* Make sure non-charging port is disabled */
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument "charge_port 
>>> ? GPIO_USB_C0_CHARGE_EN_L : GPIO_USB_C1_CHARGE_EN_L" (which evaluates to 
>>> 59) in call to "gpio_set_level".
567                     gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L :
568                                                  GPIO_USB_C1_CHARGE_EN_L, 
1);
569                     /* Enable charging port */
570                     gpio_set_level(charge_port ? GPIO_USB_C1_CHARGE_EN_L :
571                                                  GPIO_USB_C0_CHARGE_EN_L, 
0);
572             }
/3rdparty/chromeec/board/kunimitsu/board.c: 570 in 
board_set_active_charge_port()
564                     gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
565             } else {
566                     /* Make sure non-charging port is disabled */
567                     gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L :
568                                                  GPIO_USB_C1_CHARGE_EN_L, 
1);
569                     /* Enable charging port */
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument "charge_port 
>>> ? GPIO_USB_C1_CHARGE_EN_L : GPIO_USB_C0_CHARGE_EN_L" (which evaluates to 
>>> 58) in call to "gpio_set_level".
570                     gpio_set_level(charge_port ? GPIO_USB_C1_CHARGE_EN_L :
571                                                  GPIO_USB_C0_CHARGE_EN_L, 
0);
572             }
573     
574             return EC_SUCCESS;
575     }
/3rdparty/chromeec/board/kunimitsu/board.c: 563 in 
board_set_active_charge_port()
557             }
558     
559             CPRINTS("New chg p%d", charge_port);
560     
561             if (charge_port == CHARGE_PORT_NONE) {
562                     /* Disable both ports */
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C0_CHARGE_EN_L" in call to "gpio_set_level".
563                     gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1);
564                     gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
565             } else {
566                     /* Make sure non-charging port is disabled */
567                     gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L :
568                                                  GPIO_USB_C1_CHARGE_EN_L, 
1);
/3rdparty/chromeec/board/kunimitsu/board.c: 564 in 
board_set_active_charge_port()
558     
559             CPRINTS("New chg p%d", charge_port);
560     
561             if (charge_port == CHARGE_PORT_NONE) {
562                     /* Disable both ports */
563                     gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1);
>>>     CID 1353189:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB_C1_CHARGE_EN_L" in call to "gpio_set_level".
564                     gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
565             } else {
566                     /* Make sure non-charging port is disabled */
567                     gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L :
568                                                  GPIO_USB_C1_CHARGE_EN_L, 
1);
569                     /* Enable charging port */

** CID 1353188:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353188:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/board/kunimitsu/board.c: 524 in board_init()
518     
519             /* Enable pericom BC1.2 interrupts */
520             gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_L);
521             gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_L);
522     
523             /* Provide AC status to the PCH */
>>>     CID 1353188:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_ACOK" in call to "gpio_set_level".
524             gpio_set_level(GPIO_PCH_ACOK, extpower_is_present());
525     }
526     DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
527     
528     /**
529      * Buffer the AC present GPIO to the PCH.

** CID 1353187:  Memory - corruptions  (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353187:  Memory - corruptions  (OVERRUN)
/3rdparty/chromeec/board/kunimitsu/board.c: 533 in board_extpower()
527     
528     /**
529      * Buffer the AC present GPIO to the PCH.
530      */
531     static void board_extpower(void)
532     {
>>>     CID 1353187:  Memory - corruptions  (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_PCH_ACOK" in call to "gpio_set_level".
533             gpio_set_level(GPIO_PCH_ACOK, extpower_is_present());
534     }
535     DECLARE_HOOK(HOOK_AC_CHANGE, board_extpower, HOOK_PRIO_DEFAULT);
536     
537     /**
538      * Set active charge port -- only one port can be active at a time.

** CID 1353185:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353185:    (OVERRUN)
/3rdparty/chromeec/board/chell/board.c: 344 in board_chipset_startup()
338     }
339     
340     /* Called on AP S5 -> S3 transition */
341     static void board_chipset_startup(void)
342     {
343             gpio_set_level(GPIO_USB1_ENABLE, 1);
>>>     CID 1353185:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_ENABLE_TOUCHPAD" in call to "gpio_set_level".
344             gpio_set_level(GPIO_ENABLE_TOUCHPAD, 1);
345     }
346     DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, 
HOOK_PRIO_DEFAULT);
347     
348     /* Called on AP S3 -> S5 transition */
349     static void board_chipset_shutdown(void)
/3rdparty/chromeec/board/chell/board.c: 343 in board_chipset_startup()
337                                                
CONFIG_CHARGER_INPUT_CURRENT));
338     }
339     
340     /* Called on AP S5 -> S3 transition */
341     static void board_chipset_startup(void)
342     {
>>>     CID 1353185:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB1_ENABLE" in call to "gpio_set_level".
343             gpio_set_level(GPIO_USB1_ENABLE, 1);
344             gpio_set_level(GPIO_ENABLE_TOUCHPAD, 1);
345     }
346     DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, 
HOOK_PRIO_DEFAULT);
347     
348     /* Called on AP S3 -> S5 transition */

** CID 1353184:    (OVERRUN)


________________________________________________________________________________________________________
*** CID 1353184:    (OVERRUN)
/3rdparty/chromeec/board/chell/board.c: 352 in board_chipset_shutdown()
346     DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, 
HOOK_PRIO_DEFAULT);
347     
348     /* Called on AP S3 -> S5 transition */
349     static void board_chipset_shutdown(void)
350     {
351             gpio_set_level(GPIO_USB1_ENABLE, 0);
>>>     CID 1353184:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_ENABLE_TOUCHPAD" in call to "gpio_set_level".
352             gpio_set_level(GPIO_ENABLE_TOUCHPAD, 0);
353     }
354     DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, 
HOOK_PRIO_DEFAULT);
355     
356     /* Called on AP S3 -> S0 transition */
357     static void board_chipset_resume(void)
/3rdparty/chromeec/board/chell/board.c: 351 in board_chipset_shutdown()
345     }
346     DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, 
HOOK_PRIO_DEFAULT);
347     
348     /* Called on AP S3 -> S5 transition */
349     static void board_chipset_shutdown(void)
350     {
>>>     CID 1353184:    (OVERRUN)
>>>     Overrunning callee's array of size 44 by passing argument 
>>> "GPIO_USB1_ENABLE" in call to "gpio_set_level".
351             gpio_set_level(GPIO_USB1_ENABLE, 0);
352             gpio_set_level(GPIO_ENABLE_TOUCHPAD, 0);
353     }
354     DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, 
HOOK_PRIO_DEFAULT);
355     
356     /* Called on AP S3 -> S0 transition */


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, 
https://scan.coverity.com/projects/coreboot?tab=overview

To manage Coverity Scan email notifications for "[email protected]", click 
https://scan.coverity.com/subscriptions/edit?email=coreboot%40coreboot.org&token=49533df725f93b78361afb7b89ccde93


-- 
coreboot mailing list: [email protected]
https://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to