Hi,

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

6 new defect(s) introduced to coreboot found with Coverity Scan.


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


** CID 1396579:    (STRAY_SEMICOLON)
/src/soc/mediatek/mt8183/auxadc.c: 46 in auxadc_get_rawdata()
/src/soc/mediatek/mt8183/auxadc.c: 49 in auxadc_get_rawdata()
/src/soc/mediatek/mt8183/auxadc.c: 53 in auxadc_get_rawdata()


________________________________________________________________________________________________________
*** CID 1396579:    (STRAY_SEMICOLON)
/src/soc/mediatek/mt8183/auxadc.c: 46 in auxadc_get_rawdata()
40      assert(!expired);                                       \
41     })
42     
43     static uint32_t auxadc_get_rawdata(int channel)
44     {
45      setbits_le32(&mt8183_infracfg->module_sw_cg_1_clr, 1 << 10);
>>>     CID 1396579:    (STRAY_SEMICOLON)
>>>     A "while" statement with no block followed by a stand-alone block is 
>>> suspicious.
46      wait_ms(!(read32(&mtk_auxadc->con2) & 0x1), 300);
47     
48      clrbits_le32(&mtk_auxadc->con1, 1 << channel);
49      wait_ms(!(read32(&mtk_auxadc->data[channel]) & (1 << 12)), 300);
50     
51      setbits_le32(&mtk_auxadc->con1, 1 << channel);
/src/soc/mediatek/mt8183/auxadc.c: 49 in auxadc_get_rawdata()
43     static uint32_t auxadc_get_rawdata(int channel)
44     {
45      setbits_le32(&mt8183_infracfg->module_sw_cg_1_clr, 1 << 10);
46      wait_ms(!(read32(&mtk_auxadc->con2) & 0x1), 300);
47     
48      clrbits_le32(&mtk_auxadc->con1, 1 << channel);
>>>     CID 1396579:    (STRAY_SEMICOLON)
>>>     A "while" statement with no block followed by a stand-alone block is 
>>> suspicious.
49      wait_ms(!(read32(&mtk_auxadc->data[channel]) & (1 << 12)), 300);
50     
51      setbits_le32(&mtk_auxadc->con1, 1 << channel);
52      udelay(25);
53      wait_ms(read32(&mtk_auxadc->data[channel]) & (1 << 12), 300);
54     
/src/soc/mediatek/mt8183/auxadc.c: 53 in auxadc_get_rawdata()
47     
48      clrbits_le32(&mtk_auxadc->con1, 1 << channel);
49      wait_ms(!(read32(&mtk_auxadc->data[channel]) & (1 << 12)), 300);
50     
51      setbits_le32(&mtk_auxadc->con1, 1 << channel);
52      udelay(25);
>>>     CID 1396579:    (STRAY_SEMICOLON)
>>>     A "while" statement with no block followed by a stand-alone block is 
>>> suspicious.
53      wait_ms(read32(&mtk_auxadc->data[channel]) & (1 << 12), 300);
54     
55      uint32_t value = read32(&mtk_auxadc->data[channel]) & 0x0FFF;
56     
57      setbits_le32(&mt8183_infracfg->module_sw_cg_1_set, 1 << 10);
58     

** CID 1396578:    (UNINIT)
/src/arch/riscv/trap_handler.c: 98 in interrupt_handler()
/src/arch/riscv/trap_handler.c: 100 in interrupt_handler()
/src/arch/riscv/trap_handler.c: 102 in interrupt_handler()
/src/arch/riscv/trap_handler.c: 104 in interrupt_handler()
/src/arch/riscv/trap_handler.c: 106 in interrupt_handler()
/src/arch/riscv/trap_handler.c: 107 in interrupt_handler()


________________________________________________________________________________________________________
*** CID 1396578:    (UNINIT)
/src/arch/riscv/trap_handler.c: 98 in interrupt_handler()
92     
93              clear_csr(mie, MIP_MTIP);
94              set_csr(mip, MIP_STIP);
95     
96              break;
97      case IRQ_M_SOFT:
>>>     CID 1396578:    (UNINIT)
>>>     Using uninitialized value "sp".
98              if (HLS()->ipi_pending & IPI_SOFT) {
99                      set_csr(mip, MIP_SSIP);
100                     } else if (HLS()->ipi_pending & IPI_FENCE_I) {
101                             asm volatile("fence.i");
102                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA) {
103                             asm volatile("sfence.vma");
/src/arch/riscv/trap_handler.c: 100 in interrupt_handler()
94              set_csr(mip, MIP_STIP);
95     
96              break;
97      case IRQ_M_SOFT:
98              if (HLS()->ipi_pending & IPI_SOFT) {
99                      set_csr(mip, MIP_SSIP);
>>>     CID 1396578:    (UNINIT)
>>>     Using uninitialized value "sp".
100                     } else if (HLS()->ipi_pending & IPI_FENCE_I) {
101                             asm volatile("fence.i");
102                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA) {
103                             asm volatile("sfence.vma");
104                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA_ASID) {
105                             asm volatile("sfence.vma");
/src/arch/riscv/trap_handler.c: 102 in interrupt_handler()
96              break;
97      case IRQ_M_SOFT:
98              if (HLS()->ipi_pending & IPI_SOFT) {
99                      set_csr(mip, MIP_SSIP);
100                     } else if (HLS()->ipi_pending & IPI_FENCE_I) {
101                             asm volatile("fence.i");
>>>     CID 1396578:    (UNINIT)
>>>     Using uninitialized value "sp".
102                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA) {
103                             asm volatile("sfence.vma");
104                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA_ASID) {
105                             asm volatile("sfence.vma");
106                     } else if (HLS()->ipi_pending & IPI_SHUTDOWN) {
107                             while (HLS()->ipi_pending & IPI_SHUTDOWN)
/src/arch/riscv/trap_handler.c: 104 in interrupt_handler()
98              if (HLS()->ipi_pending & IPI_SOFT) {
99                      set_csr(mip, MIP_SSIP);
100                     } else if (HLS()->ipi_pending & IPI_FENCE_I) {
101                             asm volatile("fence.i");
102                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA) {
103                             asm volatile("sfence.vma");
>>>     CID 1396578:    (UNINIT)
>>>     Using uninitialized value "sp".
104                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA_ASID) {
105                             asm volatile("sfence.vma");
106                     } else if (HLS()->ipi_pending & IPI_SHUTDOWN) {
107                             while (HLS()->ipi_pending & IPI_SHUTDOWN)
108                                     asm volatile("wfi");
109                     }
/src/arch/riscv/trap_handler.c: 106 in interrupt_handler()
100                     } else if (HLS()->ipi_pending & IPI_FENCE_I) {
101                             asm volatile("fence.i");
102                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA) {
103                             asm volatile("sfence.vma");
104                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA_ASID) {
105                             asm volatile("sfence.vma");
>>>     CID 1396578:    (UNINIT)
>>>     Using uninitialized value "sp".
106                     } else if (HLS()->ipi_pending & IPI_SHUTDOWN) {
107                             while (HLS()->ipi_pending & IPI_SHUTDOWN)
108                                     asm volatile("wfi");
109                     }
110                     break;
111             default:
/src/arch/riscv/trap_handler.c: 107 in interrupt_handler()
101                             asm volatile("fence.i");
102                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA) {
103                             asm volatile("sfence.vma");
104                     } else if (HLS()->ipi_pending & IPI_SFENCE_VMA_ASID) {
105                             asm volatile("sfence.vma");
106                     } else if (HLS()->ipi_pending & IPI_SHUTDOWN) {
>>>     CID 1396578:    (UNINIT)
>>>     Using uninitialized value "sp".
107                             while (HLS()->ipi_pending & IPI_SHUTDOWN)
108                                     asm volatile("wfi");
109                     }
110                     break;
111             default:
112                     printk(BIOS_EMERG, 
"======================================\n");

** CID 1396577:    (UNINIT)
/src/arch/riscv/smp.c: 35 in smp_pause()
/src/arch/riscv/smp.c: 41 in smp_pause()
/src/arch/riscv/smp.c: 48 in smp_pause()
/src/arch/riscv/smp.c: 52 in smp_pause()
/src/arch/riscv/smp.c: 53 in smp_pause()
/src/arch/riscv/smp.c: 58 in smp_pause()
/src/arch/riscv/smp.c: 61 in smp_pause()
/src/arch/riscv/smp.c: 62 in smp_pause()


________________________________________________________________________________________________________
*** CID 1396577:    (UNINIT)
/src/arch/riscv/smp.c: 35 in smp_pause()
29      int hartid = read_csr(mhartid);
30     
31      if (hartid != working_hartid) {
32              /* waiting for work hart */
33              do {
34                      barrier();
>>>     CID 1396577:    (UNINIT)
>>>     Using uninitialized value "sp".
35              } while (SYNCA != 0x01234567);
36     
37              clear_csr(mstatus, MSTATUS_MIE);
38              write_csr(mie, MIP_MSIP);
39     
40              /* count how many cores enter the halt */
/src/arch/riscv/smp.c: 41 in smp_pause()
35              } while (SYNCA != 0x01234567);
36     
37              clear_csr(mstatus, MSTATUS_MIE);
38              write_csr(mie, MIP_MSIP);
39     
40              /* count how many cores enter the halt */
>>>     CID 1396577:    (UNINIT)
>>>     Using uninitialized value "sp".
41              __sync_fetch_and_add(&SYNCB, 1);
42     
43              do {
44                      barrier();
45                      __asm__ volatile ("wfi");
46              } while ((read_csr(mip) & MIP_MSIP) == 0);
/src/arch/riscv/smp.c: 48 in smp_pause()
42     
43              do {
44                      barrier();
45                      __asm__ volatile ("wfi");
46              } while ((read_csr(mip) & MIP_MSIP) == 0);
47              set_msip(hartid, 0);
>>>     CID 1396577:    (UNINIT)
>>>     Using uninitialized value "sp".
48              HLS()->entry.fn(HLS()->entry.arg);
49      } else {
50              /* Initialize the counter and
51               * mark the work hart into smp_pause */
52              SYNCB = 0;
53              SYNCA = 0x01234567;
/src/arch/riscv/smp.c: 52 in smp_pause()
46              } while ((read_csr(mip) & MIP_MSIP) == 0);
47              set_msip(hartid, 0);
48              HLS()->entry.fn(HLS()->entry.arg);
49      } else {
50              /* Initialize the counter and
51               * mark the work hart into smp_pause */
>>>     CID 1396577:    (UNINIT)
>>>     Using uninitialized value "sp".
52              SYNCB = 0;
53              SYNCA = 0x01234567;
54     
55              /* waiting for other Hart to enter the halt */
56              do {
57                      barrier();
/src/arch/riscv/smp.c: 53 in smp_pause()
47              set_msip(hartid, 0);
48              HLS()->entry.fn(HLS()->entry.arg);
49      } else {
50              /* Initialize the counter and
51               * mark the work hart into smp_pause */
52              SYNCB = 0;
>>>     CID 1396577:    (UNINIT)
>>>     Using uninitialized value "sp".
53              SYNCA = 0x01234567;
54     
55              /* waiting for other Hart to enter the halt */
56              do {
57                      barrier();
58              } while (SYNCB + 1 < CONFIG_RISCV_HART_NUM);
/src/arch/riscv/smp.c: 58 in smp_pause()
52              SYNCB = 0;
53              SYNCA = 0x01234567;
54     
55              /* waiting for other Hart to enter the halt */
56              do {
57                      barrier();
>>>     CID 1396577:    (UNINIT)
>>>     Using uninitialized value "sp".
58              } while (SYNCB + 1 < CONFIG_RISCV_HART_NUM);
59     
60              /* initialize for the next call */
61              SYNCA = 0;
62              SYNCB = 0;
63      }
/src/arch/riscv/smp.c: 61 in smp_pause()
55              /* waiting for other Hart to enter the halt */
56              do {
57                      barrier();
58              } while (SYNCB + 1 < CONFIG_RISCV_HART_NUM);
59     
60              /* initialize for the next call */
>>>     CID 1396577:    (UNINIT)
>>>     Using uninitialized value "sp".
61              SYNCA = 0;
62              SYNCB = 0;
63      }
64     #undef SYNCA
65     #undef SYNCB
66     }
/src/arch/riscv/smp.c: 62 in smp_pause()
56              do {
57                      barrier();
58              } while (SYNCB + 1 < CONFIG_RISCV_HART_NUM);
59     
60              /* initialize for the next call */
61              SYNCA = 0;
>>>     CID 1396577:    (UNINIT)
>>>     Using uninitialized value "sp".
62              SYNCB = 0;
63      }
64     #undef SYNCA
65     #undef SYNCB
66     }
67     

** CID 1396576:    (UNINIT)
/src/arch/riscv/smp.c: 76 in smp_resume()
/src/arch/riscv/smp.c: 77 in smp_resume()
/src/arch/riscv/smp.c: 84 in smp_resume()


________________________________________________________________________________________________________
*** CID 1396576:    (UNINIT)
/src/arch/riscv/smp.c: 76 in smp_resume()
70      int hartid = read_csr(mhartid);
71     
72      if (fn == NULL)
73              die("must pass a non-null function pointer\n");
74     
75      for (int i = 0; i < CONFIG_RISCV_HART_NUM; i++) {
>>>     CID 1396576:    (UNINIT)
>>>     Using uninitialized value "sp".
76              OTHER_HLS(i)->entry.fn = fn;
77              OTHER_HLS(i)->entry.arg = arg;
78      }
79     
80      for (int i = 0; i < CONFIG_RISCV_HART_NUM; i++)
81              if (i != hartid)
82                      set_msip(i, 1);
83     
84      HLS()->entry.fn(HLS()->entry.arg);
/src/arch/riscv/smp.c: 77 in smp_resume()
71     
72      if (fn == NULL)
73              die("must pass a non-null function pointer\n");
74     
75      for (int i = 0; i < CONFIG_RISCV_HART_NUM; i++) {
76              OTHER_HLS(i)->entry.fn = fn;
>>>     CID 1396576:    (UNINIT)
>>>     Using uninitialized value "sp".
77              OTHER_HLS(i)->entry.arg = arg;
78      }
79     
80      for (int i = 0; i < CONFIG_RISCV_HART_NUM; i++)
81              if (i != hartid)
82                      set_msip(i, 1);
83     
84      HLS()->entry.fn(HLS()->entry.arg);
/src/arch/riscv/smp.c: 84 in smp_resume()
78      }
79     
80      for (int i = 0; i < CONFIG_RISCV_HART_NUM; i++)
81              if (i != hartid)
82                      set_msip(i, 1);
83     
>>>     CID 1396576:    (UNINIT)
>>>     Using uninitialized value "sp".
84      HLS()->entry.fn(HLS()->entry.arg);

** CID 1396575:  Uninitialized variables  (UNINIT)
/src/arch/riscv/sbi.c: 44 in sbi_set_timer()


________________________________________________________________________________________________________
*** CID 1396575:  Uninitialized variables  (UNINIT)
/src/arch/riscv/sbi.c: 44 in sbi_set_timer()
38     }
39     
40     static uintptr_t sbi_set_timer(uint64_t when)
41     {
42      clear_csr(mip, MIP_STIP);
43      set_csr(mie, MIP_MTIP);
>>>     CID 1396575:  Uninitialized variables  (UNINIT)
>>>     Using uninitialized value "sp".
44      *(HLS()->timecmp) = when;
45      return 0;
46     }
47     
48     #if IS_ENABLED(CONFIG_CONSOLE_SERIAL)
49     static uintptr_t sbi_console_putchar(uint8_t ch)

** CID 1396574:  Uninitialized variables  (UNINIT)
/src/arch/riscv/sbi.c: 31 in send_ipi()


________________________________________________________________________________________________________
*** CID 1396574:  Uninitialized variables  (UNINIT)
/src/arch/riscv/sbi.c: 31 in send_ipi()
25     
26     static uintptr_t send_ipi(uintptr_t *pmask, intptr_t type)
27     {
28      uintptr_t mask = mprv_read_uintptr_t(pmask);
29      for (int i = 0; mask; i++) {
30              if (mask & 1) {
>>>     CID 1396574:  Uninitialized variables  (UNINIT)
>>>     Using uninitialized value "sp".
31                      OTHER_HLS(i)->ipi_pending |= type;
32                      /* send soft interrupt to target hart */
33                      set_msip(i, 1);
34              }
35              mask = mask >> 1;
36      }


________________________________________________________________________________________________________
To view the defects in Coverity Scan visit, 
https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbLuoVetFLSjdonCi1EjfHRqWGQvojmmkYaBE-2BPJiTQvQ-3D-3D_q4bX76XMySz3BXBlWr5fXXJ4cvAsgEXEqC7dBPM7O5a31m51VEsEaxFt1YGbyr6wNWh1JRkzG6iEWnu4wa11R6V6bq3pvRdnRMNLGWgttGAab8saZW-2BgimLNQFi615pGDzotKysOu2G2J4DGnZTtorDLvESCDRCTODv3O77-2B7n1VYt5e-2BYXktmH9OM-2FL42YRQ224IXfqqi-2BMUaEbYo2-2F2Afr5Jd9JHIIEpLZPsm1PcE-3D


-- 
coreboot mailing list: coreboot@coreboot.org
https://mail.coreboot.org/mailman/listinfo/coreboot

Reply via email to