* Hugh Dickins <hughd@xxxxxxxxxx> [220304 17:48]: > On Fri, 4 Mar 2022, Liam Howlett wrote: > > * Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> [220304 13:49]: > > > * Hugh Dickins <hughd@xxxxxxxxxx> [220303 23:36]: > > > > I just thought of something after my initial email > > > > How does the ->set_policy() requirement on tmpfs play out for the > > mpol_equal() check earlier in that for loop? > > It took me a while to page all this back in (and remind myself of > what is case 8) to answer that question! > > The answer is that the mpol_equal() check at the top of the loop is on > an existing, unmodified vma; so it's right to assume that any necessary > set_policy() has already been done. > > Whereas the mpol_equal() check being removed in this patch, is being > done on a vma which may have just been extended to cover a greater range: > so although the relevant set_policy() may have already been done on a part > of its range, there is now another part which needs the policy applied. Doesn't the policy get checked during vma_merge()? Specifically the mpol_equal(policy, vma_policy(next)) check? > > > > Reviewed-by: Liam R. Howlett <Liam.Howlett@xxxxxxxxxx> > > Thank you, your review is very welcome (but mainly I Cc'ed to alert > you to how I'm probably stepping on your toes a little here - sorry). Yes, I figured as much and I really appreciate it. I'm quite confident I translated this bug to my patch set. Thanks, Liam