Reinstating Cc stable, which I removed just before the discussion settled. On Thu, 27 Oct 2022, Peter Xu wrote: > ... > > After a re-read and 2nd thought, I think David has a valid point in that we > shouldn't have special handling of !anon pages on CoW during fork(), > because that seems to be against the fundamental concept of fork(). > > So now I think I agree the !Anon original check does look a bit cleaner, > and also make fork() behavior matching with the old/new kernels, irrelevant > of the pin mess. Thanks Peter. So Yuanzheng's patch for 5.10 is exactly right. Sorry for leading everyone astray: my mistake was to suppose that its !PageAnon check was simply to avoid the later BUG_ON(!anon_vma): whereas David and Peter now agree that it actually corrects the semantics for fork() on file pages. I lift my hold on Yuanzheng's patch: nobody actually said "Acked-by", but I think the discussion and resolution have given better than that. (No 3rd thoughts please!) Hugh