Message ID | 20191211184027.20130-1-catalin.marinas@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | arm64: Memory Tagging Extension user-space support | expand |
On Wed, Dec 11, 2019 at 10:40 AM Catalin Marinas <catalin.marinas@arm.com> wrote: > Hi, > > This series proposes the initial user-space support for the ARMv8.5 > Memory Tagging Extension [1]. Thanks for sending out this series. I have been testing it on Android with the FVP model and my in-development scudo changes that add memory tagging support [1], and have not noticed any problems so far. > - Clarify whether mmap(tagged_addr, PROT_MTE) pre-tags the memory with > the tag given in the tagged_addr hint. Strong justification is > required for this as it would force arm64 to disable the zero page. We would like to use this feature in scudo to tag large (>128KB on Android) allocations, which are currently allocated via mmap rather than from an allocation pool. Otherwise we would need to pay the cost (perf and RSS) of faulting all of their pages at allocation time instead of on demand, if we want to tag them. If we could disable the zero page for tagged mappings only and let the pages be faulted as they are read, that would work for us. Peter [1] https://reviews.llvm.org/D70762
On Fri, Dec 13, 2019 at 10:05:10AM -0800, Peter Collingbourne wrote: > On Wed, Dec 11, 2019 at 10:40 AM Catalin Marinas > <catalin.marinas@arm.com> wrote: > > This series proposes the initial user-space support for the ARMv8.5 > > Memory Tagging Extension [1]. > > Thanks for sending out this series. I have been testing it on Android > with the FVP model and my in-development scudo changes that add memory > tagging support [1], and have not noticed any problems so far. Thanks for the comments so far and the testing. I'll post a v2 next week. > > - Clarify whether mmap(tagged_addr, PROT_MTE) pre-tags the memory with > > the tag given in the tagged_addr hint. Strong justification is > > required for this as it would force arm64 to disable the zero page. > > We would like to use this feature in scudo to tag large (>128KB on > Android) allocations, which are currently allocated via mmap rather > than from an allocation pool. Otherwise we would need to pay the cost > (perf and RSS) of faulting all of their pages at allocation time > instead of on demand, if we want to tag them. Would the default tag of 0 be sufficient here? We disable match-all for user-space already, so 0 is not a wildcard.