All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Martin <Dave.Martin@arm.com>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-arch@vger.kernel.org, linux-doc@vger.kernel.org,
	Szabolcs Nagy <szabolcs.nagy@arm.com>,
	Andrey Konovalov <andreyknvl@google.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-kselftest@vger.kernel.org,
	Vincenzo Frascino <vincenzo.frascino@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 1/2] arm64: Define Documentation/arm64/tagged-address-abi.txt
Date: Thu, 13 Jun 2019 14:23:43 +0100	[thread overview]
Message-ID: <20190613132342.GZ28398@e103592.cambridge.arm.com> (raw)
In-Reply-To: <20190613122821.GS28951@C02TF0J2HF1T.local>

On Thu, Jun 13, 2019 at 01:28:21PM +0100, Catalin Marinas wrote:
> On Thu, Jun 13, 2019 at 12:37:32PM +0100, Dave P Martin wrote:
> > On Thu, Jun 13, 2019 at 11:15:34AM +0100, Vincenzo Frascino wrote:
> > > On 12/06/2019 16:35, Catalin Marinas wrote:
> > > > On Wed, Jun 12, 2019 at 03:21:10PM +0100, Vincenzo Frascino wrote:
> > > >> +  - PR_GET_TAGGED_ADDR_CTRL: can be used to check the status of the Tagged
> > > >> +                             Address ABI.
> [...]
> > Is there a canonical way to detect whether this whole API/ABI is
> > available?  (i.e., try to call this prctl / check for an HWCAP bit,
> > etc.)
> 
> The canonical way is a prctl() call. HWCAP doesn't make sense since it's
> not a hardware feature. If you really want a different way of detecting
> this (which I don't think it's worth), we can reinstate the AT_FLAGS
> bit.

Sure, I think this probably makes sense -- I'm still getting my around
which parts of the design are directly related to MTE and which aren't.

I was a bit concerned about the interaction between
PR_SET_TAGGED_ADDR_CTRL and the sysctl: the caller might conclude that
this API is unavailable when actually tagged addresses are stuck on.

I'm not sure whether this matters, but it's a bit weird.

One option would be to change the semantics, so that the sysctl just
forbids turning tagging from off to on.  Alternatively, we could return
a different error code to distinguish this case.

Or we just leave it as proposed.

Cheers
---Dave

WARNING: multiple messages have this Message-ID (diff)
From: Dave Martin <Dave.Martin@arm.com>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: linux-arch@vger.kernel.org, linux-doc@vger.kernel.org,
	Szabolcs Nagy <szabolcs.nagy@arm.com>,
	Andrey Konovalov <andreyknvl@google.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-kselftest@vger.kernel.org,
	Vincenzo Frascino <vincenzo.frascino@arm.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4 1/2] arm64: Define Documentation/arm64/tagged-address-abi.txt
Date: Thu, 13 Jun 2019 14:23:43 +0100	[thread overview]
Message-ID: <20190613132342.GZ28398@e103592.cambridge.arm.com> (raw)
In-Reply-To: <20190613122821.GS28951@C02TF0J2HF1T.local>

On Thu, Jun 13, 2019 at 01:28:21PM +0100, Catalin Marinas wrote:
> On Thu, Jun 13, 2019 at 12:37:32PM +0100, Dave P Martin wrote:
> > On Thu, Jun 13, 2019 at 11:15:34AM +0100, Vincenzo Frascino wrote:
> > > On 12/06/2019 16:35, Catalin Marinas wrote:
> > > > On Wed, Jun 12, 2019 at 03:21:10PM +0100, Vincenzo Frascino wrote:
> > > >> +  - PR_GET_TAGGED_ADDR_CTRL: can be used to check the status of the Tagged
> > > >> +                             Address ABI.
> [...]
> > Is there a canonical way to detect whether this whole API/ABI is
> > available?  (i.e., try to call this prctl / check for an HWCAP bit,
> > etc.)
> 
> The canonical way is a prctl() call. HWCAP doesn't make sense since it's
> not a hardware feature. If you really want a different way of detecting
> this (which I don't think it's worth), we can reinstate the AT_FLAGS
> bit.

Sure, I think this probably makes sense -- I'm still getting my around
which parts of the design are directly related to MTE and which aren't.

I was a bit concerned about the interaction between
PR_SET_TAGGED_ADDR_CTRL and the sysctl: the caller might conclude that
this API is unavailable when actually tagged addresses are stuck on.

I'm not sure whether this matters, but it's a bit weird.

One option would be to change the semantics, so that the sysctl just
forbids turning tagging from off to on.  Alternatively, we could return
a different error code to distinguish this case.

Or we just leave it as proposed.

Cheers
---Dave

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-06-13 15:16 UTC|newest]

Thread overview: 253+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-12 11:43 [PATCH v17 00/15] arm64: untag user pointers passed to the kernel Andrey Konovalov
2019-06-12 11:43 ` Andrey Konovalov
2019-06-12 11:43 ` Andrey Konovalov
2019-06-12 11:43 ` Andrey Konovalov
2019-06-12 11:43 ` [PATCH v17 01/15] arm64: untag user pointers in access_ok and __uaccess_mask_ptr Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:26   ` Vincenzo Frascino
2019-06-12 14:26     ` Vincenzo Frascino
2019-06-12 14:26     ` Vincenzo Frascino
2019-06-12 11:43 ` [PATCH v17 02/15] lib, arm64: untag user pointers in strn*_user Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:28   ` Vincenzo Frascino
2019-06-12 14:28     ` Vincenzo Frascino
2019-06-12 14:28     ` Vincenzo Frascino
2019-06-12 11:43 ` [PATCH v17 03/15] arm64: Introduce prctl() options to control the tagged user addresses ABI Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:30   ` Vincenzo Frascino
2019-06-12 14:30     ` Vincenzo Frascino
2019-06-12 14:30     ` Vincenzo Frascino
2019-06-12 14:55   ` Catalin Marinas
2019-06-12 14:55     ` Catalin Marinas
2019-06-12 14:55     ` Catalin Marinas
2019-06-13 11:02   ` Dave Martin
2019-06-13 11:02     ` Dave Martin
2019-06-13 11:02     ` Dave Martin
2019-06-13 15:26     ` Catalin Marinas
2019-06-13 15:26       ` Catalin Marinas
2019-06-13 15:26       ` Catalin Marinas
2019-06-14  5:13       ` Kees Cook
2019-06-14  5:13         ` Kees Cook
2019-06-14  5:13         ` Kees Cook
2019-06-18  9:18         ` Dave Martin
2019-06-18  9:18           ` Dave Martin
2019-06-18  9:18           ` Dave Martin
2019-06-13 11:16   ` Dave Martin
2019-06-13 11:16     ` Dave Martin
2019-06-13 11:16     ` Dave Martin
2019-06-13 15:35     ` Catalin Marinas
2019-06-13 15:35       ` Catalin Marinas
2019-06-13 15:35       ` Catalin Marinas
2019-06-13 15:45       ` Vincenzo Frascino
2019-06-13 15:45         ` Vincenzo Frascino
2019-06-13 15:45         ` Vincenzo Frascino
2019-06-13 15:57         ` Catalin Marinas
2019-06-13 15:57           ` Catalin Marinas
2019-06-13 15:57           ` Catalin Marinas
2019-06-13 16:15           ` Vincenzo Frascino
2019-06-13 16:15             ` Vincenzo Frascino
2019-06-13 16:15             ` Vincenzo Frascino
2019-06-17 13:56   ` Catalin Marinas
2019-06-17 13:56     ` Catalin Marinas
2019-06-17 13:56     ` Catalin Marinas
2019-06-17 16:56     ` Szabolcs Nagy
2019-06-17 16:56       ` Szabolcs Nagy
2019-06-17 16:56       ` Szabolcs Nagy
2019-06-17 16:56       ` Szabolcs Nagy
2019-06-17 16:57     ` Evgenii Stepanov
2019-06-17 16:57       ` Evgenii Stepanov
2019-06-17 16:57       ` Evgenii Stepanov
2019-06-17 16:57       ` Evgenii Stepanov
2019-06-17 17:18       ` Catalin Marinas
2019-06-17 17:18         ` Catalin Marinas
2019-06-17 17:18         ` Catalin Marinas
2019-06-17 17:18         ` Catalin Marinas
2019-06-17 21:59         ` Evgenii Stepanov
2019-06-17 21:59           ` Evgenii Stepanov
2019-06-17 21:59           ` Evgenii Stepanov
2019-06-17 21:59           ` Evgenii Stepanov
2019-06-19 14:45   ` Andrey Konovalov
2019-06-19 14:45     ` Andrey Konovalov
2019-06-19 14:45     ` Andrey Konovalov
2019-06-19 14:45     ` Andrey Konovalov
2019-06-19 15:29     ` Catalin Marinas
2019-06-19 15:29       ` Catalin Marinas
2019-06-19 15:29       ` Catalin Marinas
2019-06-19 15:29       ` Catalin Marinas
2019-06-12 11:43 ` [PATCH v17 04/15] mm, arm64: untag user pointers passed to memory syscalls Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:31   ` Vincenzo Frascino
2019-06-12 14:31     ` Vincenzo Frascino
2019-06-12 14:31     ` Vincenzo Frascino
2019-06-19 15:55   ` Khalid Aziz
2019-06-19 15:55     ` Khalid Aziz
2019-06-19 15:55     ` Khalid Aziz
2019-06-19 16:46     ` Khalid Aziz
2019-06-19 16:46       ` Khalid Aziz
2019-06-19 16:46       ` Khalid Aziz
2019-06-24 14:22       ` Andrey Konovalov
2019-06-24 14:22         ` Andrey Konovalov
2019-06-24 14:22         ` Andrey Konovalov
2019-06-24 14:22         ` Andrey Konovalov
2019-06-12 11:43 ` [PATCH v17 05/15] mm, arm64: untag user pointers in mm/gup.c Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:33   ` Vincenzo Frascino
2019-06-12 14:33     ` Vincenzo Frascino
2019-06-12 14:33     ` Vincenzo Frascino
2019-06-19 16:41   ` Khalid Aziz
2019-06-19 16:41     ` Khalid Aziz
2019-06-19 16:41     ` Khalid Aziz
2019-06-12 11:43 ` [PATCH v17 06/15] mm, arm64: untag user pointers in get_vaddr_frames Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:34   ` Vincenzo Frascino
2019-06-12 14:34     ` Vincenzo Frascino
2019-06-12 14:34     ` Vincenzo Frascino
2019-06-19 16:48   ` Khalid Aziz
2019-06-19 16:48     ` Khalid Aziz
2019-06-19 16:48     ` Khalid Aziz
2019-06-12 11:43 ` [PATCH v17 07/15] fs, arm64: untag user pointers in copy_mount_options Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:35   ` Vincenzo Frascino
2019-06-12 14:35     ` Vincenzo Frascino
2019-06-12 14:35     ` Vincenzo Frascino
2019-06-19 20:01   ` Khalid Aziz
2019-06-19 20:01     ` Khalid Aziz
2019-06-19 20:01     ` Khalid Aziz
2019-06-12 11:43 ` [PATCH v17 08/15] userfaultfd, arm64: untag user pointers Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:40   ` Vincenzo Frascino
2019-06-12 14:40     ` Vincenzo Frascino
2019-06-12 14:40     ` Vincenzo Frascino
2019-06-12 11:43 ` [PATCH v17 09/15] drm/amdgpu, " Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43 ` [PATCH v17 10/15] drm/radeon, arm64: untag user pointers in radeon_gem_userptr_ioctl Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43 ` [PATCH v17 11/15] IB/mlx4, arm64: untag user pointers in mlx4_get_umem_mr Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43 ` [PATCH v17 12/15] media/v4l2-core, arm64: untag user pointers in videobuf_dma_contig_user_get Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-19 20:05   ` Khalid Aziz
2019-06-19 20:05     ` Khalid Aziz
2019-06-19 20:05     ` Khalid Aziz
2019-06-12 11:43 ` [PATCH v17 13/15] tee/shm, arm64: untag user pointers in tee_shm_register Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43 ` [PATCH v17 14/15] vfio/type1, arm64: untag user pointers in vaddr_get_pfn Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 14:41   ` Vincenzo Frascino
2019-06-12 14:41     ` Vincenzo Frascino
2019-06-12 14:41     ` Vincenzo Frascino
2019-06-12 15:58   ` Auger Eric
2019-06-12 15:58     ` Auger Eric
2019-06-12 15:58     ` Auger Eric
2019-06-12 11:43 ` [PATCH v17 15/15] selftests, arm64: add a selftest for passing tagged pointers to kernel Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 11:43   ` Andrey Konovalov
2019-06-12 12:30   ` Szabolcs Nagy
2019-06-12 12:30     ` Szabolcs Nagy
2019-06-12 12:30     ` Szabolcs Nagy
2019-06-12 12:30     ` Szabolcs Nagy
2019-06-12 15:00     ` Catalin Marinas
2019-06-12 15:00       ` Catalin Marinas
2019-06-12 15:00       ` Catalin Marinas
2019-06-19 14:42       ` Andrey Konovalov
2019-06-19 14:42         ` Andrey Konovalov
2019-06-19 14:42         ` Andrey Konovalov
2019-06-12 14:21 ` [PATCH v4 0/2] arm64 relaxed ABI Vincenzo Frascino
2019-06-12 14:21   ` Vincenzo Frascino
2019-06-12 14:21   ` [PATCH v4 1/2] arm64: Define Documentation/arm64/tagged-address-abi.txt Vincenzo Frascino
2019-06-12 14:21     ` Vincenzo Frascino
2019-06-12 15:35     ` Catalin Marinas
2019-06-12 15:35       ` Catalin Marinas
2019-06-13 10:15       ` Vincenzo Frascino
2019-06-13 10:15         ` Vincenzo Frascino
2019-06-13 10:15         ` Vincenzo Frascino
2019-06-13 11:37         ` Dave Martin
2019-06-13 11:37           ` Dave Martin
2019-06-13 11:37           ` Dave Martin
2019-06-13 12:28           ` Catalin Marinas
2019-06-13 12:28             ` Catalin Marinas
2019-06-13 12:28             ` Catalin Marinas
2019-06-13 13:23             ` Dave Martin [this message]
2019-06-13 13:23               ` Dave Martin
2019-06-13 15:39               ` Catalin Marinas
2019-06-13 15:39                 ` Catalin Marinas
2019-06-12 16:30     ` Szabolcs Nagy
2019-06-12 16:30       ` Szabolcs Nagy
2019-06-12 16:30       ` Szabolcs Nagy
2019-06-13  9:20       ` Catalin Marinas
2019-06-13  9:20         ` Catalin Marinas
2019-06-13  9:20         ` Catalin Marinas
2019-06-13  9:20         ` Catalin Marinas
2019-06-13 10:14         ` Szabolcs Nagy
2019-06-13 10:14           ` Szabolcs Nagy
2019-06-13 10:14           ` Szabolcs Nagy
2019-06-13 10:14           ` Szabolcs Nagy
2019-06-13 11:16           ` Vincenzo Frascino
2019-06-13 11:16             ` Vincenzo Frascino
2019-06-13 11:16             ` Vincenzo Frascino
2019-06-13 11:16             ` Vincenzo Frascino
2019-06-13 12:28             ` Szabolcs Nagy
2019-06-13 12:28               ` Szabolcs Nagy
2019-06-13 12:28               ` Szabolcs Nagy
2019-06-13 12:28               ` Szabolcs Nagy
2019-06-13 14:03               ` Vincenzo Frascino
2019-06-13 14:03                 ` Vincenzo Frascino
2019-06-13 14:03                 ` Vincenzo Frascino
2019-06-13 14:03                 ` Vincenzo Frascino
2019-06-13 15:32                 ` Szabolcs Nagy
2019-06-13 15:32                   ` Szabolcs Nagy
2019-06-13 15:32                   ` Szabolcs Nagy
2019-06-13 15:35                   ` Vincenzo Frascino
2019-06-13 15:35                     ` Vincenzo Frascino
2019-06-13 15:35                     ` Vincenzo Frascino
2019-06-12 14:21   ` [PATCH v4 2/2] arm64: Relax Documentation/arm64/tagged-pointers.txt Vincenzo Frascino
2019-06-12 14:21     ` Vincenzo Frascino
2019-06-12 15:56     ` Catalin Marinas
2019-06-12 15:56       ` Catalin Marinas
2019-06-12 16:37     ` Szabolcs Nagy
2019-06-12 16:37       ` Szabolcs Nagy
2019-06-12 16:37       ` Szabolcs Nagy
2019-06-13 15:51 ` [PATCH v5 0/2] arm64 relaxed ABI Vincenzo Frascino
2019-06-13 15:51   ` Vincenzo Frascino
2019-06-13 15:51   ` Vincenzo Frascino
2019-06-13 15:51   ` [PATCH v5 1/2] arm64: Define Documentation/arm64/tagged-address-abi.txt Vincenzo Frascino
2019-06-13 15:51     ` Vincenzo Frascino
2019-06-18 11:02     ` Szabolcs Nagy
2019-06-18 11:02       ` Szabolcs Nagy
2019-06-18 11:02       ` Szabolcs Nagy
2019-06-18 13:13     ` Kevin Brodsky
2019-06-18 13:13       ` Kevin Brodsky
2019-06-21 15:16       ` Catalin Marinas
2019-06-21 15:16         ` Catalin Marinas
2019-06-21 15:16         ` Catalin Marinas
2019-06-13 15:51   ` [PATCH v5 2/2] arm64: Relax Documentation/arm64/tagged-pointers.txt Vincenzo Frascino
2019-06-13 15:51     ` Vincenzo Frascino

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=20190613132342.GZ28398@e103592.cambridge.arm.com \
    --to=dave.martin@arm.com \
    --cc=andreyknvl@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=szabolcs.nagy@arm.com \
    --cc=vincenzo.frascino@arm.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=will.deacon@arm.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.