On Wed, Apr 30, 2025 at 02:42:36PM -0700, Andrew Morton wrote: > On Wed, 30 Apr 2025 10:20:10 +0100 Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> wrote: > > > On Tue, Apr 29, 2025 at 09:22:59AM +0200, Vlastimil Babka wrote: > > > On 4/28/25 17:28, Lorenzo Stoakes wrote: > > > > Right now these are performed in kernel/fork.c which is odd and a violation > > > > of separation of concerns, as well as preventing us from integrating this > > > > and related logic into userland VMA testing going forward, and perhaps more > > > > importantly - enabling us to, in a subsequent commit, make VMA > > > > allocation/freeing a purely internal mm operation. > > > > > > I wonder if the last part is from an earlier version and now obsolete > > > because there's not subsequent commit in this series and the placement of > > > alloc/freeing in vma_init.c seems making those purely internal mm operations > > > already? Or do you mean some further plans? > > > > > > > Sorry, missed this! > > > > Andrew - could we delete the last part of this sentence so it reads: > > > > Right now these are performed in kernel/fork.c which is odd and a violation > > of separation of concerns, as well as preventing us from integrating this > > and related logic into userland VMA testing going forward. > > Sure. The result: > > : Right now these are performed in kernel/fork.c which is odd and a > : violation of separation of concerns, as well as preventing us from > : integrating this and related logic into userland VMA testing going > : forward. > : > : There is a fly in the ointment - nommu - mmap.c is not compiled if > : CONFIG_MMU not set, and neither is vma.c. > : > : To square the circle, let's add a new file - vma_init.c. This will be > : compiled for both CONFIG_MMU and nommu builds, and will also form part of > : the VMA userland testing. > : > : This allows us to de-duplicate code, while maintaining separation of > : concerns and the ability for us to userland test this logic. > : > : Update the VMA userland tests accordingly, additionally adding a > : detach_free_vma() helper function to correctly detach VMAs before freeing > : them in test code, as this change was triggering the assert for this. > Perfect, thanks!