Messages in this thread | | | Subject | Re: [RFC PATCH v3] sparc64: Add support for Application Data Integrity (ADI) | From | Rob Gardner <> | Date | Wed, 4 Jan 2017 15:56:58 -0800 |
| |
On 01/04/2017 03:49 PM, Dave Hansen wrote: > On 01/04/2017 03:44 PM, Rob Gardner wrote: >> On 01/04/2017 03:40 PM, Dave Hansen wrote: >>> On 01/04/2017 03:35 PM, Rob Gardner wrote: >>>> Tags are not cleared at all when memory is freed, but rather, lazily >>>> (and automatically) cleared when memory is allocated. >>> What does "allocated" mean in this context? Physical or virtual? What >>> does this do, for instance? >> The first time a virtual page is touched by a process after the malloc, >> the kernel does clear_user_page() or something similar, which zeroes the >> memory. At the same time, the memory tags are cleared. > OK, so the tags can't survive a MADV_FREE. That's definitely something > for apps to understand that use MADV_FREE as a substitute for memset(). > It also means that tags can't be set for physically unallocated memory. > > Neither of those are deal killers, but it would be nice to document it. > > How does this all work with large pages?
It all works completely with large pages.
Rob
| |