public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Richard Henderson <rth@twiddle.net>
To: Szabolcs Nagy <szabolcs.nagy@arm.com>, libc-alpha@sourceware.org
Cc: Sudakshina Das <sudi.das@arm.com>
Subject: Re: [PATCH v6 08/14] aarch64: enable BTI at runtime
Date: Sat, 11 Jul 2020 08:58:26 -0700	[thread overview]
Message-ID: <7e566a26-dc20-876f-d639-97e1fd2ab191@twiddle.net> (raw)
In-Reply-To: <f5a7a03e32f84ea6f5ba2cda5abcb50f40700bd3.1593612309.git.szabolcs.nagy@arm.com>

On 7/1/20 7:39 AM, Szabolcs Nagy wrote:
> +  unsigned prot = PROT_READ | PROT_EXEC | PROT_BTI;
> +
> +  for (phdr = map->l_phdr; phdr < &map->l_phdr[map->l_phnum]; ++phdr)
> +    if (phdr->p_type == PT_LOAD && (phdr->p_flags & PF_X))
> +      {
> +	ElfW(Addr) start = phdr->p_vaddr + map->l_addr;
> +	ElfW(Addr) len = phdr->p_memsz;
> +	if (__mprotect ((void *) start, len, prot) < 0)

Spend an extra cycle or two and honor the exact set of p_flags?

If I construct an executable but non-readable PT_LOAD segment, that should be
fine.  RWX with BTI would undoubtedly be an unusual case, but perhaps not
implausible in the context of a JIT with a statically allocated buffer.


r~

  parent reply	other threads:[~2020-07-11 15:58 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-01 14:37 [PATCH v6 00/14] aarch64: branch protection support Szabolcs Nagy
2020-07-01 14:37 ` [PATCH v6 01/14] Rewrite abi-note.S in C Szabolcs Nagy
2020-07-01 14:41   ` H.J. Lu
2020-07-01 17:31     ` Szabolcs Nagy
2020-07-01 17:43       ` H.J. Lu
2020-07-02  8:39         ` Szabolcs Nagy
2020-07-01 14:38 ` [PATCH v6 02/14] aarch64: configure test for BTI support Szabolcs Nagy
2020-07-06 14:11   ` Adhemerval Zanella
2020-07-06 18:07     ` Szabolcs Nagy
2020-07-06 18:12       ` Adhemerval Zanella
2020-07-07 14:26         ` Szabolcs Nagy
2020-07-07 14:39           ` H.J. Lu
2020-07-07 16:58             ` Szabolcs Nagy
2020-07-07 17:24               ` H.J. Lu
2020-07-01 14:38 ` [PATCH v6 03/14] aarch64: Rename place holder .S files to .c Szabolcs Nagy
2020-07-01 14:38 ` [PATCH v6 04/14] aarch64: Add BTI support to assembly files Szabolcs Nagy
2020-07-03 16:19   ` Szabolcs Nagy
2020-07-01 14:38 ` [PATCH v6 05/14] aarch64: fix swapcontext for BTI Szabolcs Nagy
2020-07-01 14:39 ` [PATCH v6 06/14] aarch64: fix RTLD_START " Szabolcs Nagy
2020-07-01 14:39 ` [PATCH v6 07/14] rtld: Clean up PT_NOTE and add PT_GNU_PROPERTY handling Szabolcs Nagy
2020-07-06 16:11   ` Adhemerval Zanella
2020-07-01 14:39 ` [PATCH v6 08/14] aarch64: enable BTI at runtime Szabolcs Nagy
2020-07-06 17:28   ` Adhemerval Zanella
2020-07-11 15:58   ` Richard Henderson [this message]
2020-07-13  8:32     ` Szabolcs Nagy
2020-07-13 13:14     ` Szabolcs Nagy
2020-07-13 13:28       ` Szabolcs Nagy
2020-07-13 16:55         ` Richard Henderson
2020-07-01 14:39 ` [PATCH v6 09/14] aarch64: ensure objects are BTI compatible Szabolcs Nagy
2020-07-06 17:37   ` Adhemerval Zanella
2020-07-06 18:01     ` Szabolcs Nagy
2020-07-06 18:17       ` Adhemerval Zanella
2020-07-01 14:40 ` [PATCH v6 10/14] aarch64: configure check for pac-ret code generation Szabolcs Nagy
2020-07-01 14:40 ` [PATCH v6 11/14] aarch64: Add pac-ret support to assembly files Szabolcs Nagy
2020-07-01 14:40 ` [PATCH v6 12/14] aarch64: fix pac-ret support in _mcount Szabolcs Nagy
2020-07-06 18:33   ` Adhemerval Zanella
2020-07-01 14:40 ` [PATCH v6 13/14] aarch64: redefine RETURN_ADDRESS to strip PAC Szabolcs Nagy
2020-07-06 18:34   ` Adhemerval Zanella
2020-07-01 14:41 ` [PATCH v6 14/14] aarch64: add NEWS entry about branch protection support Szabolcs Nagy
2020-07-06 18:41   ` Adhemerval Zanella
2020-07-08 10:04     ` Szabolcs Nagy

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=7e566a26-dc20-876f-d639-97e1fd2ab191@twiddle.net \
    --to=rth@twiddle.net \
    --cc=libc-alpha@sourceware.org \
    --cc=sudi.das@arm.com \
    --cc=szabolcs.nagy@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 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 read-only IMAP folder(s) and NNTP newsgroup(s).