Source code is cc = malloc(sizeof(struct core_cpu) + npmc * sizeof(struct pmc_hw), M_PMC, M_WAITOK | M_ZERO); ... for (n = 0, phw = cc->pc_corepmcs; n < npmc; n++, phw++) {
That's not uninitialized. See M_ZERO. I don't know what static analysis tool you're copying these reports from, but without basic triage the reports are more or less useless.
(In reply to Conrad Meyer from comment #1) M_ZERO is even irrelevant here: struct core_cpu { volatile uint32_t pc_resync; volatile uint32_t pc_iafctrl; /* Fixed function control. */ volatile uint64_t pc_globalctrl; /* Global control register. */ struct pmc_hw pc_corepmcs[]; }; Initial value of phw is the first element of pc_corepmcs.