Re: [PATCH 3/4] mm/gup: Remove enfornced COW mechanism

From: Linus Torvalds
Date: Mon Sep 14 2020 - 15:04:01 EST


On Mon, Sep 14, 2020 at 10:59 AM Peter Xu <peterx@xxxxxxxxxx> wrote:
>
> However now I'm a bit confused on why FOLL_COW must be with FOLL_FORCE even
> without the enforced COW... Shouldn't FOLL_COW be able to happen even without
> FOLL_FORCE (as long as when a page is shared, and the gup is with WRITE
> permission)? Not sure what I've missed, though.

Afaik, the FOLL_FORCE test was (and is) unnecessary.

If FOLL_COW is set, we're going through this the second time, and we
either had that pte_write() or we had FOLL_FORCE originally.

So can_follow_write_pte() doesn't need the FOLL_FORCE test - it's
redundant - but it isn't technically wrong either.

Linus