Hi, Please find the latest report on new defect(s) introduced to coreboot found with Coverity Scan.
4 new defect(s) introduced to coreboot found with Coverity Scan. New defect(s) Reported-by: Coverity Scan Showing 4 of 4 defect(s) ** CID 1490371: Integer handling issues (OVERFLOW_BEFORE_WIDEN) /src/soc/nvidia/tegra124/soc.c: 23 in soc_read_resources() ________________________________________________________________________________________________________ *** CID 1490371: Integer handling issues (OVERFLOW_BEFORE_WIDEN) /src/soc/nvidia/tegra124/soc.c: 23 in soc_read_resources() 17 static void soc_read_resources(struct device *dev) 18 { 19 u32 lcdbase = fb_base_mb(); 20 unsigned long fb_size = FB_SIZE_MB; 21 22 ram_from_to(dev, 0, (uintptr_t)_dram, (sdram_max_addressable_mb() - fb_size) * MiB); >>> CID 1490371: Integer handling issues (OVERFLOW_BEFORE_WIDEN) >>> Potentially overflowing expression "lcdbase * 1048576U" with type >>> "unsigned int" (32 bits, unsigned) is evaluated using 32-bit arithmetic, >>> and then used in a context that expects an expression of type "uint64_t" >>> (64 bits, unsigned). 23 mmio_range(dev, 1, lcdbase * MiB, fb_size * MiB); 24 25 ram_from_to(dev, 2, sdram_max_addressable_mb() * MiB, 26 (uintptr_t)_dram + sdram_size_mb() * (uint64_t)MiB); 27 } 28 ** CID 1490370: (OVERFLOW_BEFORE_WIDEN) /src/mainboard/emulation/qemu-i440fx/northbridge.c: 69 in cpu_pci_domain_read_resources() /src/mainboard/emulation/qemu-i440fx/northbridge.c: 101 in cpu_pci_domain_read_resources() ________________________________________________________________________________________________________ *** CID 1490370: (OVERFLOW_BEFORE_WIDEN) /src/mainboard/emulation/qemu-i440fx/northbridge.c: 69 in cpu_pci_domain_read_resources() 63 case 1: /* RAM */ 64 printk(BIOS_DEBUG, "QEMU: e820/ram: 0x%08llx + 0x%08llx\n", 65 list[i].address, list[i].length); 66 if (list[i].address == 0) { 67 tomk = list[i].length / 1024; 68 ram_from_to(dev, idx++, 0, 0xa0000); >>> CID 1490370: (OVERFLOW_BEFORE_WIDEN) >>> Potentially overflowing expression "tomk * 1024UL" with type "unsigned >>> long" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then >>> used in a context that expects an expression of type "uint64_t" (64 bits, >>> unsigned). 69 ram_from_to(dev, idx++, 0xc0000, tomk * KiB); 70 } else { 71 ram_range(dev, idx++, list[i].address, list[i].length); 72 } 73 break; 74 case 2: /* reserved */ /src/mainboard/emulation/qemu-i440fx/northbridge.c: 101 in cpu_pci_domain_read_resources() 95 uint64_t high = qemu_get_high_memory_size(); 96 printk(BIOS_DEBUG, "QEMU: cmos: %lu MiB RAM below 4G.\n", tomk / 1024); 97 printk(BIOS_DEBUG, "QEMU: cmos: %llu MiB RAM above 4G.\n", high / 1024); 98 99 /* Report the memory regions. */ 100 ram_from_to(dev, idx++, 0, 0xa0000); >>> CID 1490370: (OVERFLOW_BEFORE_WIDEN) >>> Potentially overflowing expression "tomk * 1024UL" with type "unsigned >>> long" (32 bits, unsigned) is evaluated using 32-bit arithmetic, and then >>> used in a context that expects an expression of type "uint64_t" (64 bits, >>> unsigned). 101 ram_from_to(dev, idx++, 0xc0000, tomk * KiB); 102 103 if (high) 104 upper_ram_end(dev, idx++, 4ull * GiB + high * KiB); 105 } 106 ** CID 1490369: Integer handling issues (OVERFLOW_BEFORE_WIDEN) /src/soc/nvidia/tegra124/soc.c: 22 in soc_read_resources() ________________________________________________________________________________________________________ *** CID 1490369: Integer handling issues (OVERFLOW_BEFORE_WIDEN) /src/soc/nvidia/tegra124/soc.c: 22 in soc_read_resources() 16 */ 17 static void soc_read_resources(struct device *dev) 18 { 19 u32 lcdbase = fb_base_mb(); 20 unsigned long fb_size = FB_SIZE_MB; 21 >>> CID 1490369: Integer handling issues (OVERFLOW_BEFORE_WIDEN) >>> Potentially overflowing expression "(sdram_max_addressable_mb() - >>> fb_size) * 1048576UL" with type "unsigned long" (32 bits, unsigned) is >>> evaluated using 32-bit arithmetic, and then used in a context that expects >>> an expression of type "uint64_t" (64 bits, unsigned). 22 ram_from_to(dev, 0, (uintptr_t)_dram, (sdram_max_addressable_mb() - fb_size) * MiB); 23 mmio_range(dev, 1, lcdbase * MiB, fb_size * MiB); 24 25 ram_from_to(dev, 2, sdram_max_addressable_mb() * MiB, 26 (uintptr_t)_dram + sdram_size_mb() * (uint64_t)MiB); 27 } ** CID 1490368: Integer handling issues (OVERFLOW_BEFORE_WIDEN) /src/soc/nvidia/tegra124/soc.c: 25 in soc_read_resources() ________________________________________________________________________________________________________ *** CID 1490368: Integer handling issues (OVERFLOW_BEFORE_WIDEN) /src/soc/nvidia/tegra124/soc.c: 25 in soc_read_resources() 19 u32 lcdbase = fb_base_mb(); 20 unsigned long fb_size = FB_SIZE_MB; 21 22 ram_from_to(dev, 0, (uintptr_t)_dram, (sdram_max_addressable_mb() - fb_size) * MiB); 23 mmio_range(dev, 1, lcdbase * MiB, fb_size * MiB); 24 >>> CID 1490368: Integer handling issues (OVERFLOW_BEFORE_WIDEN) >>> Potentially overflowing expression "sdram_max_addressable_mb() * >>> 1048576UL" with type "unsigned long" (32 bits, unsigned) is evaluated using >>> 32-bit arithmetic, and then used in a context that expects an expression of >>> type "uint64_t" (64 bits, unsigned). 25 ram_from_to(dev, 2, sdram_max_addressable_mb() * MiB, 26 (uintptr_t)_dram + sdram_size_mb() * (uint64_t)MiB); 27 } 28 29 static void soc_init(struct device *dev) 30 { ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yq2SfQfrHt3Prsn4qSLrYIrajINpiFX8l0vrlNSf8iCrS27qY0Cr0DkycwNUgGZJj8-3D1PVg_L-2FDzr14mnrsJO5b1wX1hp9b1MAQygl7x-2B74RAaH2cn3AXpC-2BmEJPCVrhBpaC7wr-2F1ASknb8yU7lWkMpZv3K6DNAZJeExvAk-2FJ-2BQskUB44ATbuZM5kCATFkuzuc-2BobMROzLnldg8MR53RwXdU2BQgCItuLL3b7knXUU6uf-2FNagm-2Bh7-2BpSP-2Bk-2FnYpRzsNQuG-2FLzKhwKMgC6y25sMAxD7KQp-2Ff-2B2HOoPFaayNPKbI2SkaM-3D _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-le...@coreboot.org