Hi, Please find the latest report on new defect(s) introduced to coreboot found with Coverity Scan.
7 new defect(s) introduced to coreboot found with Coverity Scan. 2 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 7 of 7 defect(s) ** CID 1431127: Memory - corruptions (ARRAY_VS_SINGLETON) /src/lib/gcov-glue.c: 128 in coverage_init() ________________________________________________________________________________________________________ *** CID 1431127: Memory - corruptions (ARRAY_VS_SINGLETON) /src/lib/gcov-glue.c: 128 in coverage_init() 122 extern long __CTOR_LIST__; 123 typedef void (*func_ptr)(void); 124 func_ptr *ctor = (func_ptr *) &__CTOR_LIST__; 125 if (ctor == NULL) 126 return; 127 >>> CID 1431127: Memory - corruptions (ARRAY_VS_SINGLETON) >>> Using "ctor" as an array. This might corrupt or misinterpret adjacent >>> memory locations. 128 for (; *ctor != (func_ptr) 0; ctor++) 129 (*ctor)(); 130 } 131 132 void __gcov_flush(void); 133 static void coverage_exit(void *unused) ** CID 1431126: (DEADCODE) /src/lib/libgcov.c: 425 in gcov_exit() /src/lib/libgcov.c: 391 in gcov_exit() ________________________________________________________________________________________________________ *** CID 1431126: (DEADCODE) /src/lib/libgcov.c: 425 in gcov_exit() 419 fname += 2; 420 421 /* Build relocated filename, stripping off leading 422 * directories from the initial filename if requested. 423 */ 424 if (gcov_prefix_strip > 0) { >>> CID 1431126: (DEADCODE) >>> Execution cannot reach this statement: "level = 0;". 425 int level = 0; 426 427 s = fname; 428 if (IS_DIR_SEPARATOR(*s)) 429 ++s; 430 /src/lib/libgcov.c: 391 in gcov_exit() 385 } else 386 #endif 387 prefix_length = 0; 388 389 /* If no prefix was specified and a prefix strip, then we assume 390 relative. */ >>> CID 1431126: (DEADCODE) >>> Execution cannot reach the expression "prefix_length == 0UL" inside >>> this statement: "if (gcov_prefix_strip != 0 ...". 391 if (gcov_prefix_strip != 0 && prefix_length == 0) { 392 gcov_prefix = "."; 393 prefix_length = 1; 394 } 395 /* Allocate and initialize the filename scratch space plus one. */ 396 gi_filename = (char *) alloca(prefix_length + gcov_max_filename + 2); ** CID 1431125: Control flow issues (DEADCODE) /src/lib/gcov-glue.c: 126 in coverage_init() ________________________________________________________________________________________________________ *** CID 1431125: Control flow issues (DEADCODE) /src/lib/gcov-glue.c: 126 in coverage_init() 120 static void coverage_init(void *unused) 121 { 122 extern long __CTOR_LIST__; 123 typedef void (*func_ptr)(void); 124 func_ptr *ctor = (func_ptr *) &__CTOR_LIST__; 125 if (ctor == NULL) >>> CID 1431125: Control flow issues (DEADCODE) >>> Execution cannot reach this statement: "return;". 126 return; 127 128 for (; *ctor != (func_ptr) 0; ctor++) 129 (*ctor)(); 130 } 131 ** CID 1431124: Integer handling issues (BAD_SHIFT) /src/security/intel/txt/common.c: 166 in validate_acm() ________________________________________________________________________________________________________ *** CID 1431124: Integer handling issues (BAD_SHIFT) /src/security/intel/txt/common.c: 166 in validate_acm() 160 /* 161 * Causes #GP if acm_header->size > processor internal authenticated 162 * code area capacity. 163 * SAFER MODE EXTENSIONS REFERENCE. 164 * Intel 64 and IA-32 Architectures Software Developer Manuals Vol 2D 165 */ >>> CID 1431124: Integer handling issues (BAD_SHIFT) >>> In expression "1UL << log2_ceil((acm_header->size & 0xffffffU) << 2)", >>> shifting by a negative amount has undefined behavior. The shift amount, >>> "log2_ceil((acm_header->size & 0xffffffU) << 2)", is -1. 166 const size_t acm_len = 1UL << log2_ceil((acm_header->size & 0xffffff) << 2); 167 if (max_size_acm_area < acm_len) { 168 printk(BIOS_ERR, "TEE-TXT: BIOS ACM doesn't fit into AC execution region\n"); 169 return ACM_E_NOT_FIT_INTO_CPU_ACM_MEM; 170 } 171 ** CID 1431123: Control flow issues (DEADCODE) /src/lib/libgcov.c: 398 in gcov_exit() ________________________________________________________________________________________________________ *** CID 1431123: Control flow issues (DEADCODE) /src/lib/libgcov.c: 398 in gcov_exit() 392 gcov_prefix = "."; 393 prefix_length = 1; 394 } 395 /* Allocate and initialize the filename scratch space plus one. */ 396 gi_filename = (char *) alloca(prefix_length + gcov_max_filename + 2); 397 if (prefix_length) >>> CID 1431123: Control flow issues (DEADCODE) >>> Execution cannot reach this statement: "memcpy(gi_filename, gcov_pr...". 398 memcpy(gi_filename, gcov_prefix, prefix_length); 399 gi_filename_up = gi_filename + prefix_length; 400 401 /* Now merge each file. */ 402 for (gi_ptr = gcov_list; gi_ptr; gi_ptr = gi_ptr->next) { 403 unsigned int n_counts; ** CID 1255942: Code maintainability issues (UNUSED_VALUE) /src/drivers/usb/ehci_debug.c: 572 in usbdebug_init_() ________________________________________________________________________________________________________ *** CID 1255942: Code maintainability issues (UNUSED_VALUE) /src/drivers/usb/ehci_debug.c: 572 in usbdebug_init_() 566 dbgp_mdelay(100); 567 568 struct ehci_dbg_port *port = (void *)(uintptr_t)info->ehci_debug; 569 ret = dbgp_probe_gadget(port, &info->ep_pipe[0]); 570 if (ret < 0) { 571 dprintk(BIOS_INFO, "Could not probe gadget on debug port.\n"); >>> CID 1255942: Code maintainability issues (UNUSED_VALUE) >>> Assigning value "-6" to "ret" here, but that stored value is >>> overwritten before it can be used. 572 ret = -6; 573 goto err; 574 } 575 576 info->ep_pipe[0].status &= ~DBGP_EP_NOT_PRESENT; 577 ** CID 1241836: Code maintainability issues (UNUSED_VALUE) /src/drivers/usb/ehci_debug.c: 561 in usbdebug_init_() ________________________________________________________________________________________________________ *** CID 1241836: Code maintainability issues (UNUSED_VALUE) /src/drivers/usb/ehci_debug.c: 561 in usbdebug_init_() 555 ctrl |= DBGP_CLAIM; 556 write32(&ehci_debug->control, ctrl); 557 ctrl = read32(&ehci_debug->control); 558 if ((ctrl & DBGP_CLAIM) != DBGP_CLAIM) { 559 dprintk(BIOS_INFO, "No device in EHCI debug port.\n"); 560 write32(&ehci_debug->control, ctrl & ~DBGP_CLAIM); >>> CID 1241836: Code maintainability issues (UNUSED_VALUE) >>> Assigning value "-4" to "ret" here, but that stored value is >>> overwritten before it can be used. 561 ret = -4; 562 goto err; 563 } 564 dprintk(BIOS_INFO, "EHCI debug port enabled.\n"); 565 566 dbgp_mdelay(100); ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yq2SfQfrHt3Prsn4qSLrYIrajINpiFX8l0vrlNSf8iCrS27qY0Cr0DkycwNUgGZJj8-3D455C_L-2FDzr14mnrsJO5b1wX1hp9b1MAQygl7x-2B74RAaH2cn2nxZXRvU81UqbZdedmlJOF1MtVK2YYoZ-2BpAPKbyUXFQ01r-2FAgciusLsoR1kg0nsGCaDnvffgLY7VTYzoqbsFXvnvY9fXq-2F7MWU-2F6uUeftWtT201eEaFLUSbYe1gmkNTuLDvE7wz5M2lONGeeuXmv0iw6jSf-2B8G-2BfZNhoYWpjsCUlzP3-2Bkl1kFh1-2FBlnE0sJfY-3D _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org