Hi,
Please find the latest report on new defect(s) introduced to coreboot found with Coverity Scan.
17 new defect(s) introduced to coreboot found with Coverity Scan. 1 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 17 of 17 defect(s)
** CID 1452607: Control flow issues (DEADCODE) /src/drivers/elog/elog.c: 798 in elog_init()
________________________________________________________________________________________________________ *** CID 1452607: Control flow issues (DEADCODE) /src/drivers/elog/elog.c: 798 in elog_init() 792 if (elog_find_flash() < 0) 793 return -1; 794 795 elog_size = region_device_sz(&elog_state.nv_dev); 796 mirror_buffer = elog_mirror_buf; 797 if (!mirror_buffer) {
CID 1452607: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "ELOG: Unable to ...".
798 printk(BIOS_ERR, "ELOG: Unable to allocate backing store\n"); 799 return -1; 800 } 801 mem_region_device_rw_init(&elog_state.mirror_dev, mirror_buffer, 802 elog_size); 803
** CID 1452606: Possible Control flow issues (DEADCODE) /src/cpu/intel/common/common_init.c: 62 in set_feature_ctrl_vmx()
________________________________________________________________________________________________________ *** CID 1452606: Possible Control flow issues (DEADCODE) /src/cpu/intel/common/common_init.c: 62 in set_feature_ctrl_vmx() 56 } 57 } 58 } 59 60 wrmsr(IA32_FEATURE_CONTROL, msr); 61
CID 1452606: Possible Control flow issues (DEADCODE) Execution cannot reach the expression ""disabled"" inside this statement: "printk(7, "VMX status: %s\n...".
62 printk(BIOS_DEBUG, "VMX status: %s\n", 63 enable ? "enabled" : "disabled"); 64 } 65 void set_feature_ctrl_lock(void) 66 { 67 msr_t msr;
** CID 1452605: Control flow issues (DEADCODE) /src/drivers/net/atl1e.c: 130 in atl1e_init()
________________________________________________________________________________________________________ *** CID 1452605: Control flow issues (DEADCODE) /src/drivers/net/atl1e.c: 130 in atl1e_init() 124 printk(BIOS_INFO, "atl1e NIC has SPI eeprom, not setting MAC\n"); 125 return; 126 } 127 128 /* Check if the base is invalid */ 129 if (!mem_base) {
CID 1452605: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "atl1e: Error can...".
130 printk(BIOS_ERR, "atl1e: Error cant find MEM resource\n"); 131 return; 132 } 133 /* Enable but do not set bus master */ 134 pci_write_config16(dev, PCI_COMMAND, 135 PCI_COMMAND_MEMORY | PCI_COMMAND_IO);
** CID 1452604: Possible Control flow issues (DEADCODE) /src/cpu/intel/common/common_init.c: 93 in set_feature_ctrl_lock()
________________________________________________________________________________________________________ *** CID 1452604: Possible Control flow issues (DEADCODE) /src/cpu/intel/common/common_init.c: 93 in set_feature_ctrl_lock() 87 if (lock) { 88 /* Set lock bit */ 89 msr.lo |= (1 << 0); 90 wrmsr(IA32_FEATURE_CONTROL, msr); 91 } 92
CID 1452604: Possible Control flow issues (DEADCODE) Execution cannot reach the expression ""unlocked"" inside this statement: "printk(7, "IA32_FEATURE_CON...".
93 printk(BIOS_DEBUG, "IA32_FEATURE_CONTROL status: %s\n", 94 lock ? "locked" : "unlocked"); 95 } 96 97 /* 98 * Init cppc_config in a way that's appropriate for Intel
** CID 1452603: Control flow issues (DEADCODE) /src/drivers/i2c/ww_ring/ww_ring.c: 391 in ww_ring_init()
________________________________________________________________________________________________________ *** CID 1452603: Control flow issues (DEADCODE) /src/drivers/i2c/ww_ring/ww_ring.c: 391 in ww_ring_init() 385 ledc->dev_addr = 0; /* Mark disabled. */ 386 } 387 388 printk(BIOS_INFO, "WW_RING: initialized %d out of %d\n", count, i); 389 if (count != i) { 390 if (count)
CID 1452603: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(4, "WW_RING: will ke...".
391 printk(BIOS_WARNING, 392 "WW_RING: will keep going anyway\n"); 393 else 394 printk(BIOS_WARNING, 395 "WW_RING: LED ring not present\n"); 396 }
** CID 1452602: Control flow issues (UNREACHABLE) /src/cpu/x86/smm/smm_module_loaderv2.c: 461 in smm_setup_relocation_handler()
________________________________________________________________________________________________________ *** CID 1452602: Control flow issues (UNREACHABLE) /src/cpu/x86/smm/smm_module_loaderv2.c: 461 in smm_setup_relocation_handler() 455 * of concurrent stack users to be CONFIG_MAX_CPUS. */ 456 if (params->num_concurrent_stacks == 0) 457 params->num_concurrent_stacks = CONFIG_MAX_CPUS; 458 459 return smm_module_setup_stub(smram, SMM_DEFAULT_SIZE, 460 params, fxsave_area_relocation, smram);
CID 1452602: Control flow issues (UNREACHABLE) This code cannot be reached: "printk(8, "%s: exit\n", <an...".
461 printk(BIOS_SPEW, "%s: exit\n", __func__); 462 } 463 464 /* 465 *The SMM module is placed within the provided region in the following 466 * manner:
** CID 1452601: Control flow issues (DEADCODE) /src/drivers/ipmi/ipmi_fru.c: 43 in ipmi_read_fru()
________________________________________________________________________________________________________ *** CID 1452601: Control flow issues (DEADCODE) /src/drivers/ipmi/ipmi_fru.c: 43 in ipmi_read_fru() 37 ret = ipmi_kcs_message(port, IPMI_NETFN_STORAGE, 0x0, 38 IPMI_READ_FRU_DATA, (const unsigned char *) req, 39 sizeof(*req), (unsigned char *) &rsp, sizeof(rsp)); 40 if (rsp.resp.completion_code == 0x81) { 41 /* Device is busy */ 42 if (retry_count == MAX_FRU_BUSY_RETRY) {
CID 1452601: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "IPMI: %s command...".
43 printk(BIOS_ERR, "IPMI: %s command failed, " 44 "device busy timeout\n", __func__); 45 return CB_ERR; 46 } 47 printk(BIOS_ERR, "IPMI: FRU device is busy, " 48 "retry count:%d\n", retry_count);
** CID 1261216: Control flow issues (DEADCODE) /src/soc/samsung/exynos5420/dp_lowlevel.c: 448 in exynos_dp_start_aux_transaction()
________________________________________________________________________________________________________ *** CID 1261216: Control flow issues (DEADCODE) /src/soc/samsung/exynos5420/dp_lowlevel.c: 448 in exynos_dp_start_aux_transaction() 442 443 retry_cnt = 10; 444 while (retry_cnt) { 445 reg = lread32(&dp_regs->int_sta); 446 if (!(reg & RPLY_RECEIV)) { 447 if (retry_cnt == 0) {
CID 1261216: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "DP Reply Timeout...".
448 printk(BIOS_ERR, "DP Reply Timeout!!\n"); 449 ret = -1; 450 return ret; 451 } 452 mdelay(1); 453 retry_cnt--;
** CID 1261189: Control flow issues (DEADCODE) /src/soc/nvidia/tegra124/dp.c: 243 in tegra_dc_dpaux_read_chunk()
________________________________________________________________________________________________________ *** CID 1261189: Control flow issues (DEADCODE) /src/soc/nvidia/tegra124/dp.c: 243 in tegra_dc_dpaux_read_chunk() 237 timeout_retries); 238 /* clear the error bits */ 239 tegra_dpaux_writel(dp, DPAUX_DP_AUXSTAT, 240 *aux_stat); 241 continue; /* retry */ 242 } else {
CID 1261189: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "dp: aux read got...".
243 printk(BIOS_ERR, "dp: aux read got error" 244 " (0x%x)\n", *aux_stat); 245 return -1; 246 } 247 } 248
** CID 1261055: Control flow issues (DEADCODE) /src/soc/nvidia/tegra124/dp.c: 145 in tegra_dc_dpaux_write_chunk()
________________________________________________________________________________________________________ *** CID 1261055: Control flow issues (DEADCODE) /src/soc/nvidia/tegra124/dp.c: 145 in tegra_dc_dpaux_write_chunk() 139 printk(BIOS_INFO, "dp: aux write retry (0x%x) -- %d\n", 140 *aux_stat, timeout_retries); 141 /* clear the error bits */ 142 tegra_dpaux_writel(dp, DPAUX_DP_AUXSTAT, *aux_stat); 143 continue; 144 } else {
CID 1261055: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "dp: aux write go...".
145 printk(BIOS_ERR, "dp: aux write got error (0x%x)\n", 146 *aux_stat); 147 return -1; 148 } 149 } 150
** CID 1261018: Control flow issues (DEADCODE) /src/soc/samsung/exynos5420/dp.c: 785 in exynos_dp_config_video()
________________________________________________________________________________________________________ *** CID 1261018: Control flow issues (DEADCODE) /src/soc/samsung/exynos5420/dp.c: 785 in exynos_dp_config_video() 779 if (edp_info->video_info.master_mode == 0) { 780 retry_cnt = 10; 781 while (retry_cnt) { 782 ret = exynos_dp_is_slave_video_stream_clock_on(); 783 if (ret != EXYNOS_DP_SUCCESS) { 784 if (retry_cnt == 0) {
CID 1261018: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "DP stream_clock_...".
785 printk(BIOS_ERR, "DP stream_clock_on failed\n"); 786 return ret; 787 } 788 retry_cnt--; 789 mdelay(1); 790 } else {
** CID 1260932: Control flow issues (DEADCODE) /src/soc/nvidia/tegra124/dp.c: 258 in tegra_dc_dpaux_read_chunk()
________________________________________________________________________________________________________ *** CID 1260932: Control flow issues (DEADCODE) /src/soc/nvidia/tegra124/dp.c: 258 in tegra_dc_dpaux_read_chunk() 252 printk(BIOS_INFO, "dp: aux read defer (0x%x) -- %d\n", 253 *aux_stat, defer_retries); 254 /* clear the error bits */ 255 tegra_dpaux_writel(dp, DPAUX_DP_AUXSTAT, *aux_stat); 256 continue; 257 } else {
CID 1260932: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(6, "dp: aux read def...".
258 printk(BIOS_INFO, "dp: aux read defer exceeds max retries " 259 "(0x%x)\n", *aux_stat); 260 return -1; 261 } 262 } 263
** CID 1260909: Control flow issues (DEADCODE) /src/cpu/x86/mp_init.c: 431 in start_aps()
________________________________________________________________________________________________________ *** CID 1260909: Control flow issues (DEADCODE) /src/cpu/x86/mp_init.c: 431 in start_aps() 425 return 0; 426 427 /* The vector is sent as a 4k aligned address in one byte. */ 428 sipi_vector = sipi_vector_location >> 12; 429 430 if (sipi_vector > max_vector_loc) {
CID 1260909: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(2, "SIPI vector too ...".
431 printk(BIOS_CRIT, "SIPI vector too large! 0x%08x\n", 432 sipi_vector); 433 return -1; 434 } 435 436 printk(BIOS_DEBUG, "Attempting to start %d APs\n", ap_count);
** CID 1260903: Control flow issues (DEADCODE) /src/soc/samsung/exynos5420/dp.c: 173 in exynos_dp_handle_edid()
________________________________________________________________________________________________________ *** CID 1260903: Control flow issues (DEADCODE) /src/soc/samsung/exynos5420/dp.c: 173 in exynos_dp_handle_edid() 167 while (retry_cnt) { 168 /* Read DPCD 0x0000-0x000b */ 169 ret = exynos_dp_read_bytes_from_dpcd(DPCD_DPCD_REV, 12, 170 buf); 171 if (ret != EXYNOS_DP_SUCCESS) { 172 if (retry_cnt == 0) {
CID 1260903: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "DP read_byte_fro...".
173 printk(BIOS_ERR, "DP read_byte_from_dpcd() failed\n"); 174 return ret; 175 } 176 retry_cnt--; 177 } else 178 break;
** CID 1260846: Control flow issues (DEADCODE) /src/soc/intel/braswell/southcluster.c: 109 in write_pci_config_irqs()
________________________________________________________________________________________________________ *** CID 1260846: Control flow issues (DEADCODE) /src/soc/intel/braswell/southcluster.c: 109 in write_pci_config_irqs() 103 uint16_t parent_bdf = 0; 104 uint8_t pirq = 0; 105 uint8_t device_num = 0; 106 const struct soc_irq_route *ir = &global_soc_irq_route; 107 108 if (ir == NULL) {
CID 1260846: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(4, "Warning: Can't w...".
109 printk(BIOS_WARNING, "Warning: Can't write PCI IRQ assignments " 110 "because 'global_braswell_irq_route' structure does not exist\n"); 111 return; 112 } 113 114 /*
** CID 1260827: Control flow issues (DEADCODE) /src/soc/samsung/exynos5420/dp_lowlevel.c: 666 in exynos_dp_read_bytes_from_dpcd()
________________________________________________________________________________________________________ *** CID 1260827: Control flow issues (DEADCODE) /src/soc/samsung/exynos5420/dp_lowlevel.c: 666 in exynos_dp_read_bytes_from_dpcd() 660 lwrite32(reg, &dp_regs->aux_ch_ctl1); 661 662 /* Start AUX transaction */ 663 ret = exynos_dp_start_aux_transaction(); 664 if (ret != EXYNOS_DP_SUCCESS) { 665 if (retry_cnt == 0) {
CID 1260827: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "DP Aux Transacti...".
666 printk(BIOS_ERR, "DP Aux Transaction failed\n"); 667 return ret; 668 } 669 retry_cnt--; 670 } else 671 break;
** CID 1260783: Control flow issues (DEADCODE) /src/soc/nvidia/tegra124/dp.c: 160 in tegra_dc_dpaux_write_chunk()
________________________________________________________________________________________________________ *** CID 1260783: Control flow issues (DEADCODE) /src/soc/nvidia/tegra124/dp.c: 160 in tegra_dc_dpaux_write_chunk() 154 printk(BIOS_INFO, "dp: aux write defer (0x%x) -- %d\n", 155 *aux_stat, defer_retries); 156 /* clear the error bits */ 157 tegra_dpaux_writel(dp, DPAUX_DP_AUXSTAT, *aux_stat); 158 continue; 159 } else {
CID 1260783: Control flow issues (DEADCODE) Execution cannot reach this statement: "printk(3, "dp: aux write de...".
160 printk(BIOS_ERR, "dp: aux write defer exceeds max retries " 161 "(0x%x)\n", *aux_stat); 162 return -1; 163 } 164 } 165
________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0...