tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 9f67672a817ec046f7554a885f0fe0d60e1bf99f commit: b10d6bca87204cdafd0cd7aaa837ad30b4eb8c20 arch, drivers: replace for_each_membock() with for_each_mem_range() compiler: or1k-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> cppcheck possible warnings: (new ones prefixed by >>, may not real problems) >> arch/openrisc/mm/init.c:125:10: warning: Uninitialized variable: region [uninitvar] region->base, region->base + region->size); ^ vim +125 arch/openrisc/mm/init.c 61e85e367535a7 Jonas Bonn 2011-06-04 58 61e85e367535a7 Jonas Bonn 2011-06-04 59 /* 61e85e367535a7 Jonas Bonn 2011-06-04 60 * Map all physical memory into kernel's address space. 61e85e367535a7 Jonas Bonn 2011-06-04 61 * 61e85e367535a7 Jonas Bonn 2011-06-04 62 * This is explicitly coded for two-level page tables, so if you need 61e85e367535a7 Jonas Bonn 2011-06-04 63 * something else then this needs to change. 61e85e367535a7 Jonas Bonn 2011-06-04 64 */ 61e85e367535a7 Jonas Bonn 2011-06-04 65 static void __init map_ram(void) 61e85e367535a7 Jonas Bonn 2011-06-04 66 { b10d6bca87204c Mike Rapoport 2020-10-13 67 phys_addr_t start, end; 61e85e367535a7 Jonas Bonn 2011-06-04 68 unsigned long v, p, e; 61e85e367535a7 Jonas Bonn 2011-06-04 69 pgprot_t prot; 61e85e367535a7 Jonas Bonn 2011-06-04 70 pgd_t *pge; b187fb7fca9cc4 Mike Rapoport 2020-06-04 71 p4d_t *p4e; 61e85e367535a7 Jonas Bonn 2011-06-04 72 pud_t *pue; 61e85e367535a7 Jonas Bonn 2011-06-04 73 pmd_t *pme; 61e85e367535a7 Jonas Bonn 2011-06-04 74 pte_t *pte; b10d6bca87204c Mike Rapoport 2020-10-13 75 u64 i; 61e85e367535a7 Jonas Bonn 2011-06-04 76 /* These mark extents of read-only kernel pages... 61e85e367535a7 Jonas Bonn 2011-06-04 77 * ...from vmlinux.lds.S 61e85e367535a7 Jonas Bonn 2011-06-04 78 */ 61e85e367535a7 Jonas Bonn 2011-06-04 79 struct memblock_region *region; 61e85e367535a7 Jonas Bonn 2011-06-04 80 61e85e367535a7 Jonas Bonn 2011-06-04 81 v = PAGE_OFFSET; 61e85e367535a7 Jonas Bonn 2011-06-04 82 b10d6bca87204c Mike Rapoport 2020-10-13 83 for_each_mem_range(i, &start, &end) { b10d6bca87204c Mike Rapoport 2020-10-13 84 p = (u32) start & PAGE_MASK; b10d6bca87204c Mike Rapoport 2020-10-13 85 e = (u32) end; 61e85e367535a7 Jonas Bonn 2011-06-04 86 61e85e367535a7 Jonas Bonn 2011-06-04 87 v = (u32) __va(p); 61e85e367535a7 Jonas Bonn 2011-06-04 88 pge = pgd_offset_k(v); 61e85e367535a7 Jonas Bonn 2011-06-04 89 61e85e367535a7 Jonas Bonn 2011-06-04 90 while (p < e) { 61e85e367535a7 Jonas Bonn 2011-06-04 91 int j; b187fb7fca9cc4 Mike Rapoport 2020-06-04 92 p4e = p4d_offset(pge, v); b187fb7fca9cc4 Mike Rapoport 2020-06-04 93 pue = pud_offset(p4e, v); 61e85e367535a7 Jonas Bonn 2011-06-04 94 pme = pmd_offset(pue, v); 61e85e367535a7 Jonas Bonn 2011-06-04 95 61e85e367535a7 Jonas Bonn 2011-06-04 96 if ((u32) pue != (u32) pge || (u32) pme != (u32) pge) { 61e85e367535a7 Jonas Bonn 2011-06-04 97 panic("%s: OR1K kernel hardcoded for " 61e85e367535a7 Jonas Bonn 2011-06-04 98 "two-level page tables", 61e85e367535a7 Jonas Bonn 2011-06-04 99 __func__); 61e85e367535a7 Jonas Bonn 2011-06-04 100 } 61e85e367535a7 Jonas Bonn 2011-06-04 101 61e85e367535a7 Jonas Bonn 2011-06-04 102 /* Alloc one page for holding PTE's... */ fb054d0d91dbe3 Mike Rapoport 2019-03-11 103 pte = memblock_alloc_raw(PAGE_SIZE, PAGE_SIZE); fb054d0d91dbe3 Mike Rapoport 2019-03-11 104 if (!pte) fb054d0d91dbe3 Mike Rapoport 2019-03-11 105 panic("%s: Failed to allocate page for PTEs\n", fb054d0d91dbe3 Mike Rapoport 2019-03-11 106 __func__); 61e85e367535a7 Jonas Bonn 2011-06-04 107 set_pmd(pme, __pmd(_KERNPG_TABLE + __pa(pte))); 61e85e367535a7 Jonas Bonn 2011-06-04 108 61e85e367535a7 Jonas Bonn 2011-06-04 109 /* Fill the newly allocated page with PTE'S */ f47706099bdb8c Stefan Kristiansson 2014-01-11 110 for (j = 0; p < e && j < PTRS_PER_PTE; 61e85e367535a7 Jonas Bonn 2011-06-04 111 v += PAGE_SIZE, p += PAGE_SIZE, j++, pte++) { 61e85e367535a7 Jonas Bonn 2011-06-04 112 if (v >= (u32) _e_kernel_ro || 61e85e367535a7 Jonas Bonn 2011-06-04 113 v < (u32) _s_kernel_ro) 61e85e367535a7 Jonas Bonn 2011-06-04 114 prot = PAGE_KERNEL; 61e85e367535a7 Jonas Bonn 2011-06-04 115 else 61e85e367535a7 Jonas Bonn 2011-06-04 116 prot = PAGE_KERNEL_RO; 61e85e367535a7 Jonas Bonn 2011-06-04 117 61e85e367535a7 Jonas Bonn 2011-06-04 118 set_pte(pte, mk_pte_phys(p, prot)); 61e85e367535a7 Jonas Bonn 2011-06-04 119 } 61e85e367535a7 Jonas Bonn 2011-06-04 120 61e85e367535a7 Jonas Bonn 2011-06-04 121 pge++; 61e85e367535a7 Jonas Bonn 2011-06-04 122 } 61e85e367535a7 Jonas Bonn 2011-06-04 123 61e85e367535a7 Jonas Bonn 2011-06-04 124 printk(KERN_INFO "%s: Memory: 0x%x-0x%x\n", __func__, 61e85e367535a7 Jonas Bonn 2011-06-04 @125 region->base, region->base + region->size); 61e85e367535a7 Jonas Bonn 2011-06-04 126 } 61e85e367535a7 Jonas Bonn 2011-06-04 127 } 61e85e367535a7 Jonas Bonn 2011-06-04 128 :::::: The code at line 125 was first introduced by commit :::::: 61e85e367535a7b6385b404bef93928768140f96 OpenRISC: Memory management :::::: TO: Jonas Bonn <jonas@xxxxxxxxxxxx> :::::: CC: Jonas Bonn <jonas@xxxxxxxxxxxx> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx