All of lore.kernel.org
 help / color / mirror / Atom feed
* [akpm-mm:mm-unstable 174/199] mm/memory.c:5094:25: warning: variable 'pte' is uninitialized when used here
@ 2024-03-28  0:58 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-03-28  0:58 UTC (permalink / raw)
  To: Baolin Wang; +Cc: oe-kbuild-all, Andrew Morton, Linux Memory Management List

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-unstable
head:   2f423131bebaa5a4f4b8cf460d96245e93a40905
commit: 0f47c75aeb7aae02c433e322ebbd4d6d757418d5 [174/199] mm: support multi-size THP numa balancing
config: x86_64-randconfig-123-20240327 (https://download.01.org/0day-ci/archive/20240328/202403280834.zWjRlaM9-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240328/202403280834.zWjRlaM9-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403280834.zWjRlaM9-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> mm/memory.c:5094:25: warning: variable 'pte' is uninitialized when used here [-Wuninitialized]
    5094 |                         writable = pte_write(pte);
         |                                              ^~~
   mm/memory.c:5083:3: note: variable 'pte' is declared here
    5083 |                 pte_t pte, old_pte;
         |                 ^
   1 warning generated.


vim +/pte +5094 mm/memory.c

  5070	
  5071	static void numa_rebuild_large_mapping(struct vm_fault *vmf, struct vm_area_struct *vma,
  5072					       struct folio *folio, pte_t fault_pte, bool ignore_writable)
  5073	{
  5074		int nr = pte_pfn(fault_pte) - folio_pfn(folio);
  5075		unsigned long start = max(vmf->address - nr * PAGE_SIZE, vma->vm_start);
  5076		unsigned long end = min(start + folio_nr_pages(folio) * PAGE_SIZE, vma->vm_end);
  5077		pte_t *start_ptep = vmf->pte - (vmf->address - start) / PAGE_SIZE;
  5078		bool pte_write_upgrade = vma_wants_manual_pte_write_upgrade(vma);
  5079		unsigned long addr;
  5080	
  5081		/* Restore all PTEs' mapping of the large folio */
  5082		for (addr = start; addr != end; start_ptep++, addr += PAGE_SIZE) {
  5083			pte_t pte, old_pte;
  5084			pte_t ptent = ptep_get(start_ptep);
  5085			bool writable = false;
  5086	
  5087			if (!pte_present(ptent) || !pte_protnone(ptent))
  5088				continue;
  5089	
  5090			if (vm_normal_folio(vma, addr, ptent) != folio)
  5091				continue;
  5092	
  5093			if (!ignore_writable) {
> 5094				writable = pte_write(pte);
  5095				if (!writable && pte_write_upgrade &&
  5096				    can_change_pte_writable(vma, addr, pte))
  5097					writable = true;
  5098			}
  5099	
  5100			old_pte = ptep_modify_prot_start(vma, addr, start_ptep);
  5101			pte = pte_modify(old_pte, vma->vm_page_prot);
  5102			pte = pte_mkyoung(pte);
  5103			if (writable)
  5104				pte = pte_mkwrite(pte, vma);
  5105			ptep_modify_prot_commit(vma, addr, start_ptep, old_pte, pte);
  5106			update_mmu_cache_range(vmf, vma, addr, start_ptep, 1);
  5107		}
  5108	}
  5109	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-03-28  0:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-28  0:58 [akpm-mm:mm-unstable 174/199] mm/memory.c:5094:25: warning: variable 'pte' is uninitialized when used here kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.