On 11/18/2015 03:25 PM, Kirill A. Shutemov wrote:
> --- a/mm/filemap.c
> +++ b/mm/filemap.c
> @@ -2068,11 +2068,6 @@ void filemap_map_pages(struct fault_env *fe,
...
>               if (file->f_ra.mmap_miss > 0)
>                       file->f_ra.mmap_miss--;
> -             do_set_pte(fe, page);
> +
> +             fe->address += (iter.index - last_pgoff) << PAGE_SHIFT;
> +             if (fe->pte)
> +                     fe->pte += iter.index - last_pgoff;
> +             last_pgoff = iter.index;
> +             if (do_set_pte(fe, NULL, page)) {
> +                     /* failed to setup page table: giving up */
> +                     if (!fe->pte)
> +                             break;
> +                     goto unlock;
> +             }
>               unlock_page(page);
>               goto next;

Hey Kirill,

Is there a case here where do_set_pte() returns an error and _still_
manages to populate fe->pte?

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to