On Fri, Sep 13, 2024 at 11:08:23AM +0100, Catalin Marinas wrote:
On Thu, Sep 12, 2024 at 02:15:59PM -0700, Charlie Jenkins wrote:
On Thu, Sep 12, 2024 at 11:53:49AM +0100, Catalin Marinas wrote:
On Wed, Sep 11, 2024 at 11:18:12PM -0700, Charlie Jenkins wrote:
Opting-in to the higher address space is reasonable. However, it is not my preference, because the purpose of this flag is to ensure that allocations do not exceed 47-bits, so it is a clearer ABI to have the applications that want this guarantee to be the ones setting the flag, rather than the applications that want the higher bits setting the flag.
[...]
Anyway, the prctl() can go both ways, either expanding or limiting the default address space. So I'd be fine with such interface.
Ah, I just realised (while reading Lorenzo's reply) that we can't really restrict the space via a prctl() as we have the main thread stack already allocated by the kernel before the user code starts. You may need to limit this stack as well, not just the later heap allocations (anonymous mmap()).