From: Khalid Aziz <khalid.aziz@oracle.com>
To: Dave Hansen <dave.hansen@linux.intel.com>,
davem@davemloft.net, corbet@lwn.net, arnd@arndb.de,
akpm@linux-foundation.org
Cc: hpa@zytor.com, viro@zeniv.linux.org.uk, nitin.m.gupta@oracle.com,
chris.hyser@oracle.com, tushar.n.dave@oracle.com,
sowmini.varadhan@oracle.com, mike.kravetz@oracle.com,
adam.buchbinder@gmail.com, minchan@kernel.org, hughd@google.com,
kirill.shutemov@linux.intel.com, keescook@chromium.org,
allen.pais@oracle.com, aryabinin@virtuozzo.com,
atish.patra@oracle.com, joe@perches.com, pmladek@suse.com,
jslaby@suse.cz, cmetcalf@mellanox.com,
paul.gortmaker@windriver.com, mhocko@suse.com,
jmarchan@redhat.com, lstoakes@gmail.com, 0x7f454c46@gmail.com,
vbabka@suse.cz, tglx@linutronix.de, mingo@redhat.com,
dan.j.williams@intel.com, iamjoonsoo.kim@lge.com,
mgorman@techsingularity.net, vdavydov.dev@gmail.com,
hannes@cmpxchg.org, namit@vmware.com, linux-doc@vger.kernel.org,
linux-kernel@vger.kernel.org, sparclinux@vger.kernel.org,
linux-arch@vger.kernel.org, x86@kernel.org, linux-mm@kvack.org,
Khalid Aziz <khalid@gonehiking.org>
Subject: Re: [RFC PATCH v3] sparc64: Add support for Application Data Integrity (ADI)
Date: Wed, 4 Jan 2017 16:43:36 -0700 [thread overview]
Message-ID: <c3e2f4c6-5a3d-a34b-0648-b4885bc8dd1e@oracle.com> (raw)
In-Reply-To: <6fcaab9f-40fb-fdfb-2c7e-bf21a862ab7c@linux.intel.com>
On 01/04/2017 04:27 PM, Dave Hansen wrote:
> On 01/04/2017 02:46 PM, Khalid Aziz wrote:
>> This patch extends mprotect to enable ADI (TSTATE.mcde), enable/disable
>> MCD (Memory Corruption Detection) on selected memory ranges, enable
>> TTE.mcd in PTEs, return ADI parameters to userspace and save/restore ADI
>> version tags on page swap out/in.
>
> I'm a bit confused why we need all the mechanics with set_swp_pte_at().
> For pkeys, for instance, all of the PTEs under a given VMA share a pkey.
> When swapping something in, we just get the pkey out of the VMA and
> populate the PTE.
>
> ADI doesn't seem to have a similar restriction. The feature is turned
> on or off at a VMA granularity, but we do not (or can enforce that all
> pages under a given VMA must share a tag.
>
> But this leads to an interesting question: is the tag associated with
> the (populated?) pte, or the virtual address? Can you have tags
> associated with non-present addresses? What's the mechanism that clears
> the tags at munmap() or MADV_FREE time?
Hi Dave,
Tag is associated with virtual address and all pages in a singular VMA
do not share the same tag. When a page is swapped out, we need to save
the tag that was set on it so we can restore it when we bring the page
back in. When MMU translates a vitrtual address into physical address,
it expects to see the same tag set on the physical page as is set in the
VA before it will allow access. Tags are cleared on a page by
NG4clear_page() and NG4clear_user_page() when a page is allocated to a task.
>
> Is the tag storage a precious resource? Can it be exhausted?
There is a metadata area in RAM that stores the tags and it has enough
space to cover all the tags for the RAM size.
--
Khalid
next prev parent reply other threads:[~2017-01-04 23:46 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-04 22:46 [RFC PATCH v3] sparc64: Add support for Application Data Integrity (ADI) Khalid Aziz
2017-01-04 23:27 ` Dave Hansen
2017-01-04 23:35 ` Rob Gardner
2017-01-04 23:40 ` Dave Hansen
2017-01-04 23:44 ` Rob Gardner
2017-01-04 23:49 ` Dave Hansen
2017-01-04 23:56 ` Rob Gardner
2017-01-04 23:58 ` Khalid Aziz
2017-01-05 0:01 ` Dave Hansen
2017-01-05 0:05 ` Rob Gardner
2017-01-05 0:14 ` Dave Hansen
2017-01-05 0:26 ` Khalid Aziz
2017-01-05 19:22 ` Dave Hansen
2017-01-05 20:30 ` Khalid Aziz
2017-01-06 9:19 ` Michal Hocko
2017-01-06 15:32 ` Khalid Aziz
2017-01-06 15:36 ` Dave Hansen
2017-01-06 16:22 ` Khalid Aziz
2017-01-06 16:25 ` David Miller
2017-01-06 16:55 ` Dave Hansen
2017-01-06 17:02 ` David Miller
2017-01-06 17:10 ` Khalid Aziz
2017-01-06 17:54 ` Rob Gardner
2017-01-06 18:18 ` Khalid Aziz
2017-01-06 18:28 ` Rob Gardner
2017-01-06 17:08 ` Khalid Aziz
2017-01-04 23:43 ` Khalid Aziz [this message]
2017-01-04 23:31 ` Dave Hansen
2017-01-04 23:46 ` Khalid Aziz
2017-01-04 23:50 ` Dave Hansen
2017-01-05 9:37 ` Jerome Marchand
2017-01-05 15:13 ` Khalid Aziz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c3e2f4c6-5a3d-a34b-0648-b4885bc8dd1e@oracle.com \
--to=khalid.aziz@oracle.com \
--cc=0x7f454c46@gmail.com \
--cc=adam.buchbinder@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=allen.pais@oracle.com \
--cc=arnd@arndb.de \
--cc=aryabinin@virtuozzo.com \
--cc=atish.patra@oracle.com \
--cc=chris.hyser@oracle.com \
--cc=cmetcalf@mellanox.com \
--cc=corbet@lwn.net \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=hannes@cmpxchg.org \
--cc=hpa@zytor.com \
--cc=hughd@google.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=jmarchan@redhat.com \
--cc=joe@perches.com \
--cc=jslaby@suse.cz \
--cc=keescook@chromium.org \
--cc=khalid@gonehiking.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lstoakes@gmail.com \
--cc=mgorman@techsingularity.net \
--cc=mhocko@suse.com \
--cc=mike.kravetz@oracle.com \
--cc=minchan@kernel.org \
--cc=mingo@redhat.com \
--cc=namit@vmware.com \
--cc=nitin.m.gupta@oracle.com \
--cc=paul.gortmaker@windriver.com \
--cc=pmladek@suse.com \
--cc=sowmini.varadhan@oracle.com \
--cc=sparclinux@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=tushar.n.dave@oracle.com \
--cc=vbabka@suse.cz \
--cc=vdavydov.dev@gmail.com \
--cc=viro@zeniv.linux.org.uk \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).