Re: [PATCH] mm/migrate: Fix early increment of migrate->npages

From: Jerome Glisse
Date: Mon Oct 02 2017 - 17:48:31 EST


On Mon, Oct 02, 2017 at 04:44:02PM -0500, Reza Arbab wrote:
> The intention here is to set the same array element in src and dst.
> Switch the order of these lines so that migrate->npages is only
> incremented after we've used it.

I already posted a fix for this today from Mark. Either version is
fine i think Andrew already pulled version i posted earlier.

>
> Fixes: 8315ada7f095 ("mm/migrate: allow migrate_vma() to alloc new page on empty entry")
> Cc: Jérôme Glisse <jglisse@xxxxxxxxxx>
> Signed-off-by: Reza Arbab <arbab@xxxxxxxxxxxxxxxxxx>
> ---
> mm/migrate.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/migrate.c b/mm/migrate.c
> index dea0ceb..c4546cc 100644
> --- a/mm/migrate.c
> +++ b/mm/migrate.c
> @@ -2146,8 +2146,8 @@ static int migrate_vma_collect_hole(unsigned long start,
> unsigned long addr;
>
> for (addr = start & PAGE_MASK; addr < end; addr += PAGE_SIZE) {
> - migrate->src[migrate->npages++] = MIGRATE_PFN_MIGRATE;
> migrate->dst[migrate->npages] = 0;
> + migrate->src[migrate->npages++] = MIGRATE_PFN_MIGRATE;
> migrate->cpages++;
> }
>
> --
> 1.8.3.1
>