On Mon, 1 Mar 2021 20:57:01 +0800 Wang Qing <wangq...@vivo.com> wrote:
> Smatch gives the warning: > do_numa_page() warn: assigning (-11) to unsigned variable 'migrated' > > ... > > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -4102,7 +4102,6 @@ static vm_fault_t do_numa_page(struct vm_fault *vmf) > int page_nid = NUMA_NO_NODE; > int last_cpupid; > int target_nid; > - bool migrated = false; > pte_t pte, old_pte; > bool was_writable = pte_savedwrite(vmf->orig_pte); > int flags = 0; > @@ -4172,8 +4171,7 @@ static vm_fault_t do_numa_page(struct vm_fault *vmf) > } > > /* Migrate to the requested node */ > - migrated = migrate_misplaced_page(page, vma, target_nid); > - if (migrated) { > + if (migrate_misplaced_page(page, vma, target_nid)) { > page_nid = target_nid; > flags |= TNF_MIGRATED; > } else Looks right. Methinks both migrate_misplaced_page() and numamigrate_isolate_page() should return bools. (And that their return values should be documented!)