mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Rich Felker <dalias@libc.org>
To: musl@lists.openwall.com
Subject: Re: [PATCH 00/16] Linux v4.16 and v4.17 updates
Date: Tue, 19 Jun 2018 13:33:15 -0400	[thread overview]
Message-ID: <20180619173315.GO1392@brightrain.aerifal.cx> (raw)
In-Reply-To: <20180614230337.GR4418@port70.net>

On Fri, Jun 15, 2018 at 01:03:38AM +0200, Szabolcs Nagy wrote:
> respin of the v4.16 patches
> http://www.openwall.com/lists/musl/2018/04/28/1
> without the siginfo changes and with v4.17 additions.
> 
> the last patch is adding missing memory mapping related
> syscall wrappers, the pkey* support is incomplete.
> 
> Szabolcs Nagy (16):
>   sys/epoll.h: add EPOLLNVAL from linux v4.16
>   netinet/if_ether.h: add ETH_P_ERSPAN2 from linux v4.16
>   netinet/if_ether.h: add ETH_TLEN from linux v4.16
>   sys/ptrace.h: add PTRACE_SECCOMP_GET_METADATA from linux v4.16
>   aarch64: add HWCAP_ASIMDFHM from linux v4.16
>   powerpc: add pkey syscall numbers from linux v4.16
>   add MAP_FIXED_NOREPLACE from linux v4.17
>   add {MSG,SEM,SHM}_STAT_ANY from linux v4.17
>   add TCP_NLA_* from linux v4.17
>   add ETH_P_PREAUTH ethertype from linux v4.17
>   add speculation control prctls from linux v4.17
>   aarch64: add HWCAP_ flags from linux v4.17
>   mips: add HWCAP_ flags from linux v4.17
>   s390x: add kexec_file_load syscall number from linux v4.17

All of these look fine, committing as-is.

>   add si_codes from linux v4.17
>   Add memfd_create, mlock2 and pkey_* apis

See below:

> From 45493abeb3918e3722ef8d75bf231ef155a2b755 Mon Sep 17 00:00:00 2001
> From: Szabolcs Nagy <nsz@port70.net>
> Date: Sat, 9 Jun 2018 23:22:51 +0000
> Subject: [PATCH 15/16] add si_codes from linux v4.17
> 
> target specific si_codes were made generic in linux commits
> a402ab8cc7b0578c445f348c9010e62ab390bee8 (ia64) and
> 75abf64287cab73546382a4fa7fa2f4e3516efeb (parisc)
> ---
>  include/signal.h | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/include/signal.h b/include/signal.h
> index a4f85cca..69395468 100644
> --- a/include/signal.h
> +++ b/include/signal.h
> @@ -61,6 +61,13 @@ typedef struct sigaltstack stack_t;
>  #define FPE_FLTRES 6
>  #define FPE_FLTINV 7
>  #define FPE_FLTSUB 8
> +#define __FPE_DECOVF 9
> +#define __FPE_DECDIV 10
> +#define __FPE_DECERR 11
> +#define __FPE_INVASC 12
> +#define __FPE_INVDEC 13
> +#define FPE_FLTUNK 14
> +#define FPE_CONDTRAP 15
>  
>  #define ILL_ILLOPC 1
>  #define ILL_ILLOPN 2
> @@ -70,11 +77,17 @@ typedef struct sigaltstack stack_t;
>  #define ILL_PRVREG 6
>  #define ILL_COPROC 7
>  #define ILL_BADSTK 8
> +#define ILL_BADIADDR 9
> +#define __ILL_BREAK 10
> +#define __ILL_BNDMOD 11

Is there a reason some of these are __-prefixed? They don't need too
be (FPE_* and ILL_* are reserved for signal.h) and it seems wrong that
macros intended to be used by the application are in the
reserved-for-implementation-use namespace rather than the public one
for the interface.

> From 9e18e6e7854d17aa1639d6145584df27f4b4f856 Mon Sep 17 00:00:00 2001
> From: Szabolcs Nagy <nsz@port70.net>
> Date: Sat, 28 Apr 2018 17:25:41 +0000
> Subject: [PATCH 16/16] Add memfd_create, mlock2 and pkey_* apis
> 
> This patch adds support for the following linux syscalls and related
> interfaces following glibc:
> 
> memfd_create (linux v3.17)
> mlock2 (linux v4.4)
> pkey_alloc (linux v4.9)
> pkey_free (linux v4.9)
> pkey_mprotect (linux v4.9)
> pkey_get (glibc 2.27)
> pkey_set (glibc 2.27)
> 
> pkey_get / pkey_set are glibc apis, not syscalls, only an always
> failing generic implementation is provided in this patch, for pkey_
> apis to be useful these will need target specific implementations.
> 
> MLOCK_ONFAULT is moved under _GNU_SOURCE following glibc.
> 
> Similar to glibc, mlock2 and pkey_mprotect have fallbacks to mlock and
> mprotect respectively in case of special arguments.

I'm holding off on this one just because I don't understand the pkey
stuff, and it looks like it's not actually functional without
additional arch-specific code.

It might also make sense to split this into 2 or 3 patches, since
memfd_create and mlock2 seem like separate, simple functionality
unrelated to the pkey stuff.

Rich


  reply	other threads:[~2018-06-19 17:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-14 23:03 Szabolcs Nagy
2018-06-19 17:33 ` Rich Felker [this message]
2018-06-19 19:55   ` Szabolcs Nagy
2018-06-20  1:11     ` Rich Felker

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=20180619173315.GO1392@brightrain.aerifal.cx \
    --to=dalias@libc.org \
    --cc=musl@lists.openwall.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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

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).