On Fri 22-06-18 18:01:08, Yang Shi wrote: > Yes, this is true but I guess what Yang Shi meant was that an userspace > > > access racing with munmap is not well defined. You never know whether > > > you get your data, #PTF or SEGV because it depends on timing. The user > > > visible change might be that you lose content and get zero page instead > > > if you hit the race window while we are unmapping which was not possible > > > before. But whouldn't such an access pattern be buggy anyway? You need > > > some form of external synchronization AFAICS. > > > > > > But maybe some userspace depends on "getting right data or get SEGV" > > > semantic. If we have to preserve that then we can come up with a VM_DEAD > > > flag set before we tear it down and force the SEGV on the #PF path. > > > Something similar we already do for MMF_UNSTABLE. > > > > Set VM_DEAD with read mmap_sem held? It should be ok since this is the > > only place to set this flag for this unique special case. > > BTW, it looks the vm flags have used up in 32 bit. If we really need > VM_DEAD, it should be for both 32-bit and 64-bit. Do we really need any special handling for 32b? Who is going to create GB mappings for all this to be worth doing? -- Michal Hocko SUSE Labs