On 06/22/2016 12:20 PM, Andy Lutomirski wrote: >>> >> As an example, a 32-bit x86 program really could have something mapped >>> >> above the 32-bit boundary. It just wouldn't be useful, but the kernel >>> >> should still understand that it's *user* memory. >>> >> >>> >> So you'd have PR_SET_MMAP_LIMIT and PR_GET_MMAP_LIMIT or similar instead. >> > >> > +1. Also it might be (not sure though, just guessing) suitable to do such >> > thing via memory cgroup controller, instead of carrying this limit per >> > each process (or task structure/vma or mm). > I think we'll want this per mm. After all, a high-VA-limit-aware bash > should be able run high-VA-unaware programs without fiddling with > cgroups. Yeah, cgroups don't make a lot of sense. On x86, the 48-bit virtual address is even hard-coded in the ABI[1]. So we can't change *any* program's layout without either breaking the ABI or having it opt in. But, we're also lucky to only have one VA layout since day one. 1. www.x86-64.org/documentation/abi.pdf - “... Therefore, conforming processes may only use addresses from 0x00000000 00000000 to 0x00007fff ffffffff .” -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>