From: Dave Martin <Dave.Martin-5wv7dgnIgG8@public.gmane.org>
To: "Michael Kerrisk (man-pages)"
<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH 02/14] prctl.2: Add health warning
Date: Wed, 13 May 2020 12:41:38 +0100 [thread overview]
Message-ID: <20200513114137.GJ21779@arm.com> (raw)
In-Reply-To: <7218089f-20df-52b3-e1d4-ac63e0215efc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
On Wed, May 13, 2020 at 01:40:26PM +0200, Michael Kerrisk (man-pages) wrote:
> Hi Dave,
>
> On 5/13/20 1:13 PM, Dave Martin wrote:
> > On Wed, May 13, 2020 at 12:10:25PM +0200, Michael Kerrisk (man-pages) wrote:
> >> Hi Dave,
> >>
> >> On 5/12/20 6:36 PM, Dave Martin wrote:
> >>> In reality, almost every prctl interferes with assumptions that the
> >>> compiler and C library / runtime rely on. prctl() can therefore
> >>> make userspace explode in a variety ways that are likely to be hard
> >>> to debug.
> >>>
> >>> This is not obvious to the uninitiated, so add a warning.
> >>
> >> Patch applied. But see my comments on patch 04. I may want to
> >> circle back on this patch later, since the wording feels a
> >> little strong to me (we simply must use prctl for some things,
> >> and not all of those things break user-space/runtime as far
> >> as I know). If you have some thoughts on softening the warning,
> >> let me know.
> >
> > Certainly the "if at all" can go -- this was just a suggestion
> > really.
>
> Yes. Gone.
>
> > Maybe the whole thing is superfluous. In C anything can screw up the
> > runtime if you try hard enough.
>
> I think it's at least worth alerting the reader to this issue.
>
> > The background to this patch is that things like the new
> > PR_PAC_RESET_KEYS and PR_SVE_SET_VL are likely to crash the program, or
> > place a timebomb that will explode later when someone upgrades their
> > toolchain or links with a new version of some library. Many existing
> > prctls that look equally unfriendly...
> >
> > I didn't want to say nothing at all, but I didn't want to get into the
> > gory details either.
>
> (Okay.)
>
> > Doing the digging to document the safety requirements of each prctl
> > would be a lot of work, and probably an exercise in futility anyway --
> > how to use a lot of prctls safely depends on the run-time environment as
> > much as it does on the kernel.
> >
> >
> > If you want to drop this, I'm happy to add explicit notes to just the
> > new arm64 prctls instead for now.
>
> I just softened the warning a little; see below. Explicit notes for
> the new arm64 prctls would certainly be welcome.
OK, that works for me. I'll try to keep it brief.
Cheers
---Dave
WARNING: multiple messages have this Message-ID (diff)
From: Dave Martin <Dave.Martin@arm.com>
To: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Cc: linux-man@vger.kernel.org, linux-arch@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 02/14] prctl.2: Add health warning
Date: Wed, 13 May 2020 12:41:38 +0100 [thread overview]
Message-ID: <20200513114137.GJ21779@arm.com> (raw)
Message-ID: <20200513114138.Xc5n579p0PlrVUIE0NwdsqkXLPqKHTReh3o03Hhhl50@z> (raw)
In-Reply-To: <7218089f-20df-52b3-e1d4-ac63e0215efc@gmail.com>
On Wed, May 13, 2020 at 01:40:26PM +0200, Michael Kerrisk (man-pages) wrote:
> Hi Dave,
>
> On 5/13/20 1:13 PM, Dave Martin wrote:
> > On Wed, May 13, 2020 at 12:10:25PM +0200, Michael Kerrisk (man-pages) wrote:
> >> Hi Dave,
> >>
> >> On 5/12/20 6:36 PM, Dave Martin wrote:
> >>> In reality, almost every prctl interferes with assumptions that the
> >>> compiler and C library / runtime rely on. prctl() can therefore
> >>> make userspace explode in a variety ways that are likely to be hard
> >>> to debug.
> >>>
> >>> This is not obvious to the uninitiated, so add a warning.
> >>
> >> Patch applied. But see my comments on patch 04. I may want to
> >> circle back on this patch later, since the wording feels a
> >> little strong to me (we simply must use prctl for some things,
> >> and not all of those things break user-space/runtime as far
> >> as I know). If you have some thoughts on softening the warning,
> >> let me know.
> >
> > Certainly the "if at all" can go -- this was just a suggestion
> > really.
>
> Yes. Gone.
>
> > Maybe the whole thing is superfluous. In C anything can screw up the
> > runtime if you try hard enough.
>
> I think it's at least worth alerting the reader to this issue.
>
> > The background to this patch is that things like the new
> > PR_PAC_RESET_KEYS and PR_SVE_SET_VL are likely to crash the program, or
> > place a timebomb that will explode later when someone upgrades their
> > toolchain or links with a new version of some library. Many existing
> > prctls that look equally unfriendly...
> >
> > I didn't want to say nothing at all, but I didn't want to get into the
> > gory details either.
>
> (Okay.)
>
> > Doing the digging to document the safety requirements of each prctl
> > would be a lot of work, and probably an exercise in futility anyway --
> > how to use a lot of prctls safely depends on the run-time environment as
> > much as it does on the kernel.
> >
> >
> > If you want to drop this, I'm happy to add explicit notes to just the
> > new arm64 prctls instead for now.
>
> I just softened the warning a little; see below. Explicit notes for
> the new arm64 prctls would certainly be welcome.
OK, that works for me. I'll try to keep it brief.
Cheers
---Dave
WARNING: multiple messages have this Message-ID (diff)
From: Dave Martin <Dave.Martin@arm.com>
To: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
Cc: linux-arch@vger.kernel.org, linux-man@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 02/14] prctl.2: Add health warning
Date: Wed, 13 May 2020 12:41:38 +0100 [thread overview]
Message-ID: <20200513114137.GJ21779@arm.com> (raw)
In-Reply-To: <7218089f-20df-52b3-e1d4-ac63e0215efc@gmail.com>
On Wed, May 13, 2020 at 01:40:26PM +0200, Michael Kerrisk (man-pages) wrote:
> Hi Dave,
>
> On 5/13/20 1:13 PM, Dave Martin wrote:
> > On Wed, May 13, 2020 at 12:10:25PM +0200, Michael Kerrisk (man-pages) wrote:
> >> Hi Dave,
> >>
> >> On 5/12/20 6:36 PM, Dave Martin wrote:
> >>> In reality, almost every prctl interferes with assumptions that the
> >>> compiler and C library / runtime rely on. prctl() can therefore
> >>> make userspace explode in a variety ways that are likely to be hard
> >>> to debug.
> >>>
> >>> This is not obvious to the uninitiated, so add a warning.
> >>
> >> Patch applied. But see my comments on patch 04. I may want to
> >> circle back on this patch later, since the wording feels a
> >> little strong to me (we simply must use prctl for some things,
> >> and not all of those things break user-space/runtime as far
> >> as I know). If you have some thoughts on softening the warning,
> >> let me know.
> >
> > Certainly the "if at all" can go -- this was just a suggestion
> > really.
>
> Yes. Gone.
>
> > Maybe the whole thing is superfluous. In C anything can screw up the
> > runtime if you try hard enough.
>
> I think it's at least worth alerting the reader to this issue.
>
> > The background to this patch is that things like the new
> > PR_PAC_RESET_KEYS and PR_SVE_SET_VL are likely to crash the program, or
> > place a timebomb that will explode later when someone upgrades their
> > toolchain or links with a new version of some library. Many existing
> > prctls that look equally unfriendly...
> >
> > I didn't want to say nothing at all, but I didn't want to get into the
> > gory details either.
>
> (Okay.)
>
> > Doing the digging to document the safety requirements of each prctl
> > would be a lot of work, and probably an exercise in futility anyway --
> > how to use a lot of prctls safely depends on the run-time environment as
> > much as it does on the kernel.
> >
> >
> > If you want to drop this, I'm happy to add explicit notes to just the
> > new arm64 prctls instead for now.
>
> I just softened the warning a little; see below. Explicit notes for
> the new arm64 prctls would certainly be welcome.
OK, that works for me. I'll try to keep it brief.
Cheers
---Dave
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-05-13 11:41 UTC|newest]
Thread overview: 149+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-12 16:36 [PATCH 00/14] prctl.2 man page updates for Linux 5.6 Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` [PATCH 01/14] prctl.2: tfix clarify that prctl can apply to threads Dave Martin
2020-05-12 16:36 ` Dave Martin
[not found] ` <1589301419-24459-2-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-13 8:30 ` Michael Kerrisk (man-pages)
2020-05-13 8:30 ` Michael Kerrisk (man-pages)
2020-05-13 8:30 ` Michael Kerrisk (man-pages)
2020-05-12 16:36 ` [PATCH 03/14] prctl.2: tfix mis-description of thread ID values in procfs Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-13 8:36 ` Michael Kerrisk (man-pages)
2020-05-13 8:36 ` Michael Kerrisk (man-pages)
2020-05-12 16:36 ` [PATCH 04/14] prctl.2: srcfix add comments for navigation Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-13 10:09 ` Michael Kerrisk (man-pages)
2020-05-13 10:09 ` Michael Kerrisk (man-pages)
2020-05-13 10:56 ` Dave Martin
2020-05-13 10:56 ` Dave Martin
[not found] ` <20200513105620.GE21779-5wv7dgnIgG8@public.gmane.org>
2020-05-13 11:03 ` Michael Kerrisk (man-pages)
2020-05-13 11:03 ` Michael Kerrisk (man-pages)
2020-05-13 11:03 ` Michael Kerrisk (man-pages)
2020-05-13 11:15 ` Dave Martin
2020-05-13 11:15 ` Dave Martin
[not found] ` <20200513111557.GG21779-5wv7dgnIgG8@public.gmane.org>
2020-05-13 11:48 ` Michael Kerrisk (man-pages)
2020-05-13 11:48 ` Michael Kerrisk (man-pages)
2020-05-13 11:48 ` Michael Kerrisk (man-pages)
[not found] ` <022b1d7f-8381-a9a8-b5aa-907143fd4831-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-13 11:51 ` Dave Martin
2020-05-13 11:51 ` Dave Martin
2020-05-13 11:51 ` Dave Martin
[not found] ` <1589301419-24459-1-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-12 16:36 ` [PATCH 02/14] prctl.2: Add health warning Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` Dave Martin
[not found] ` <1589301419-24459-3-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-13 10:10 ` Michael Kerrisk (man-pages)
2020-05-13 10:10 ` Michael Kerrisk (man-pages)
2020-05-13 10:10 ` Michael Kerrisk (man-pages)
2020-05-13 11:13 ` Dave Martin
2020-05-13 11:13 ` Dave Martin
[not found] ` <20200513111340.GF21779-5wv7dgnIgG8@public.gmane.org>
2020-05-13 11:40 ` Michael Kerrisk (man-pages)
2020-05-13 11:40 ` Michael Kerrisk (man-pages)
2020-05-13 11:40 ` Michael Kerrisk (man-pages)
[not found] ` <7218089f-20df-52b3-e1d4-ac63e0215efc-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-13 11:41 ` Dave Martin [this message]
2020-05-13 11:41 ` Dave Martin
2020-05-13 11:41 ` Dave Martin
2020-05-12 16:36 ` [PATCH 05/14] prctl.2: tfix listing order of prctls Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-13 10:10 ` Michael Kerrisk (man-pages)
2020-05-13 10:10 ` Michael Kerrisk (man-pages)
[not found] ` <1bb991f4-176a-a74e-01fc-c73b49ed77f5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-13 11:21 ` Dave Martin
2020-05-13 11:21 ` Dave Martin
2020-05-13 11:21 ` Dave Martin
[not found] ` <20200513112133.GH21779-5wv7dgnIgG8@public.gmane.org>
2020-05-13 11:31 ` Michael Kerrisk (man-pages)
2020-05-13 11:31 ` Michael Kerrisk (man-pages)
2020-05-13 11:31 ` Michael Kerrisk (man-pages)
2020-05-13 11:45 ` Dave Martin
2020-05-13 11:45 ` Dave Martin
2020-05-13 11:45 ` Dave Martin
2020-05-12 16:36 ` [PATCH 06/14] prctl.2: ffix quotation mark tweaks Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` Dave Martin
[not found] ` <1589301419-24459-7-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-13 10:11 ` Michael Kerrisk (man-pages)
2020-05-13 10:11 ` Michael Kerrisk (man-pages)
2020-05-13 10:11 ` Michael Kerrisk (man-pages)
[not found] ` <7afe32a5-9675-74d4-7c39-f1271d475afd-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-13 11:39 ` Dave Martin
2020-05-13 11:39 ` Dave Martin
2020-05-13 11:39 ` Dave Martin
2020-05-13 11:46 ` Michael Kerrisk (man-pages)
2020-05-13 11:46 ` Michael Kerrisk (man-pages)
[not found] ` <f575e35d-cd5e-5808-bed4-91bdfb9c2905-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-13 11:51 ` Dave Martin
2020-05-13 11:51 ` Dave Martin
2020-05-13 11:51 ` Dave Martin
2020-05-12 16:36 ` [PATCH 07/14] prctl.2: Document removal of Intel MPX prctls Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:41 ` Dave Hansen
2020-05-12 16:41 ` Dave Hansen
[not found] ` <1589301419-24459-8-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-13 10:11 ` Michael Kerrisk (man-pages)
2020-05-13 10:11 ` Michael Kerrisk (man-pages)
2020-05-13 10:11 ` Michael Kerrisk (man-pages)
2020-05-12 16:36 ` [PATCH 09/14] prctl.2: tfix minor punctuation in SPECULATION_CTRL prctls Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` Dave Martin
[not found] ` <1589301419-24459-10-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-13 10:31 ` Michael Kerrisk (man-pages)
2020-05-13 10:31 ` Michael Kerrisk (man-pages)
2020-05-13 10:31 ` Michael Kerrisk (man-pages)
2020-05-12 16:36 ` [PATCH 10/14] prctl.2: Add PR_SPEC_INDIRECT_BRANCH for " Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` Dave Martin
[not found] ` <1589301419-24459-11-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-13 11:21 ` Michael Kerrisk (man-pages)
2020-05-13 11:21 ` Michael Kerrisk (man-pages)
2020-05-13 11:21 ` Michael Kerrisk (man-pages)
2020-05-13 11:49 ` Dave Martin
2020-05-13 11:49 ` Dave Martin
[not found] ` <20200513114915.GL21779-5wv7dgnIgG8@public.gmane.org>
2020-05-13 12:06 ` Michael Kerrisk (man-pages)
2020-05-13 12:06 ` Michael Kerrisk (man-pages)
2020-05-13 12:06 ` Michael Kerrisk (man-pages)
[not found] ` <604879eb-1c7e-d08b-a6b8-165e4259b60c-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-13 13:53 ` Dave Martin
2020-05-13 13:53 ` Dave Martin
2020-05-13 13:53 ` Dave Martin
2020-05-12 16:36 ` [PATCH 12/14] prctl.2: Clarify the unsupported hardware case of EINVAL Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-13 10:48 ` Michael Kerrisk (man-pages)
2020-05-13 10:48 ` Michael Kerrisk (man-pages)
2020-05-12 16:36 ` [PATCH 08/14] prctl.2: Work around bogus constant "maxsig" in PR_SET_PDEATHSIG Dave Martin
2020-05-12 16:36 ` Dave Martin
[not found] ` <1589301419-24459-9-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-13 10:30 ` Michael Kerrisk (man-pages)
2020-05-13 10:30 ` Michael Kerrisk (man-pages)
2020-05-13 10:30 ` Michael Kerrisk (man-pages)
2020-05-12 16:36 ` [PATCH 11/14] prctl.2: Add PR_SPEC_DISABLE_NOEXEC for SPECULATION_CTRL prctls Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-12 16:36 ` [PATCH 13/14] prctl.2: Add SVE prctls (arm64) Dave Martin
2020-05-12 16:36 ` Dave Martin
[not found] ` <1589301419-24459-14-git-send-email-Dave.Martin-5wv7dgnIgG8@public.gmane.org>
2020-05-13 8:43 ` Will Deacon
2020-05-13 8:43 ` Will Deacon
2020-05-13 8:43 ` Will Deacon
2020-05-13 10:46 ` Dave Martin
2020-05-13 10:46 ` Dave Martin
2020-05-13 10:46 ` Dave Martin
2020-05-13 11:01 ` Michael Kerrisk (man-pages)
2020-05-13 11:01 ` Michael Kerrisk (man-pages)
[not found] ` <a01fc572-cac8-1932-c3e5-c70184417ca3-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-05-13 14:02 ` Dave Martin
2020-05-13 14:02 ` Dave Martin
2020-05-13 14:02 ` Dave Martin
[not found] ` <20200513140200.GP21779-5wv7dgnIgG8@public.gmane.org>
2020-05-13 21:11 ` Will Deacon
2020-05-13 21:11 ` Will Deacon
2020-05-13 21:11 ` Will Deacon
2020-05-18 16:37 ` Dave Martin
2020-05-18 16:37 ` Dave Martin
2020-05-26 14:45 ` Dave Martin
2020-05-26 14:45 ` Dave Martin
2020-05-12 16:36 ` [PATCH 14/14] prctl.2: Add PR_PAC_RESET_KEYS (arm64) Dave Martin
2020-05-12 16:36 ` Dave Martin
2020-05-13 7:25 ` Will Deacon
2020-05-13 7:25 ` Will Deacon
2020-05-13 14:36 ` Dave Martin
2020-05-13 14:36 ` Dave Martin
2020-05-13 14:36 ` Dave Martin
[not found] ` <20200513143653.GQ21779-5wv7dgnIgG8@public.gmane.org>
2020-05-13 21:00 ` Will Deacon
2020-05-13 21:00 ` Will Deacon
2020-05-13 21:00 ` Will Deacon
2020-05-18 16:11 ` Dave Martin
2020-05-18 16:11 ` Dave Martin
2020-05-18 16:11 ` Dave Martin
[not found] ` <20200518161128.GB21779-5wv7dgnIgG8@public.gmane.org>
2020-05-18 16:29 ` Will Deacon
2020-05-18 16:29 ` Will Deacon
2020-05-18 16:29 ` Will Deacon
2020-05-13 11:28 ` [PATCH 00/14] prctl.2 man page updates for Linux 5.6 Michael Kerrisk (man-pages)
2020-05-13 11:28 ` Michael Kerrisk (man-pages)
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=20200513114137.GJ21779@arm.com \
--to=dave.martin-5wv7dgnigg8@public.gmane.org \
--cc=linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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 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.