Messages in this thread | | | Subject | Re: [PATCH v2] sparc64: Add support for Application Data Integrity (ADI) | From | Khalid Aziz <> | Date | Mon, 7 Mar 2016 14:33:56 -0700 |
| |
On 03/07/2016 12:16 PM, David Miller wrote: > From: Khalid Aziz <khalid.aziz@oracle.com> > Date: Mon, 7 Mar 2016 11:24:54 -0700 > >> Tags can be cleared by user by setting tag to 0. Tags are >> automatically cleared by the hardware when the mapping for a virtual >> address is removed from TSB (which is why swappable pages are a >> problem), so kernel does not have to do it as part of clean up. > > You might be able to crib some bits for the Tag in the swp_entry_t, it's > 64-bit and you can therefore steal bits from the offset field. > > That way you'll have the ADI tag in the page tables, ready to re-install > at swapin time. >
That is a possibility but limited in scope. An address range covered by a single TTE can have large number of tags. Version tags are set on cacheline. In extreme case, one could set a tag for each set of 64-bytes in a page. Also tags are set completely in userspace and no transition occurs to kernel space, so kernel has no idea of what tags have been set. I have not found a way to query the MMU on tags.
I will think some more about it.
Thanks, Khalid
| |