On Tue 05-01-21 15:14:20, Jan Stancek wrote: > After commit 236c32eb1096 ("mm: migrate: clean up migrate_prep{_local}")', > do_migrate_pages can return uninitialized variable 'err' (which is > propagated to user-space as error) when 'from' and 'to' nodesets > are identical. This can be reproduced with LTP migrate_pages01, > which calls migrate_pages() with same set for both old/new_nodes. > > Add 'err' initialization back. > > Fixes: 236c32eb1096 ("mm: migrate: clean up migrate_prep{_local}") > Cc: Zi Yan <ziy@xxxxxxxxxx> > Cc: Yang Shi <shy828301@xxxxxxxxx> > Cc: Jan Kara <jack@xxxxxxx> > Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: Song Liu <songliubraving@xxxxxx> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Jan Stancek <jstancek@xxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> Thanks! > --- > mm/mempolicy.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 8cf96bd21341..2c3a86502053 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -1111,7 +1111,7 @@ int do_migrate_pages(struct mm_struct *mm, const nodemask_t *from, > const nodemask_t *to, int flags) > { > int busy = 0; > - int err; > + int err = 0; > nodemask_t tmp; > > migrate_prep(); > -- > 2.18.1 > -- Michal Hocko SUSE Labs